2 回答
TA贡献1864条经验 获得超6个赞
处理此问题的最佳方法是将这些路由分组到中间件中,并在中间件本身中检查不记名令牌。这将使您的方法更加整洁,并且您可以轻松地在此路由中间件组中添加需要不记名令牌检查的新路由。
TA贡献1847条经验 获得超7个赞
虽然将令牌验证问题分开是一个好主意,但在构造函数中做这样的事情并不是一个好习惯,更不用说将它隐藏在基类的构造函数中了。
一般来说,构造函数应该用于构造对象,而不是“做事”。
因为你想return早点,从控制器中提取这个问题有点复杂。但这就是中间件的用途。
查看有关创建自己的中间件的 Laravel 文档(尽管您尝试做的事情可能已经内置)
一个示例中间件类可能如下所示:
<?php
namespace App\Http\Middleware;
use Closure;
class CheckToken
{
/**
* Handle an incoming request and check the token.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (...) { //your token check
return ...; // your early-returned json.
}
return $next($request); //otherwise continue
}
}
- 2 回答
- 0 关注
- 109 浏览
添加回答
举报