我已经阅读了很多关于如何在中间件中传递参数的想法,但是如果有可能获得关于它的完整示例
答案 0 :(得分:0)
我相信您正在尝试自定义中间件功能。
查看Matt Stauffer撰写的这篇文章(如果你还没看过)。
它清楚地回答了你的问题。它会让你开始。
Passing parameters to middleware
在Laravel API中,我不确定是否有hasRole()方法。但我们也可以同样创造一个。
使用hasRole()扩展laravel Auth 类
需要两个表用户&角色。
在 用户模型 :
中添加此项public function hasRole($role) {
return Role::where(array('user_id' => Auth::user()->id, 'role' => $role))->get();
}
请记住在顶部包含 角色模型 路径。
在 中间件 :
中添加此内容public function handle($request, Closure $next, $role) {
If($this->auth->guest()) {
return redirect()->guest('login');
}
if (Auth::check() && Auth::user()->hasRole($role)) {
return $next($request);
}
}
希望这有用。