如何传递参数中间件laravel 5.1

时间:2015-10-30 18:06:00

标签: laravel-5.1

我已经阅读了很多关于如何在中间件中传递参数的想法,但是如果有可能获得关于它的完整示例

1 个答案:

答案 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);
    } 
}

希望这有用。