VerifyCsrfToken.php第156行中的ErrorException:尝试获取非对象laravel中间件的属性

时间:2017-02-14 15:53:20

标签: php laravel laravel-5 laravel-5.3 laravel-middleware

当我创建自己的中间件并使用它时,我收到此错误

public function handle($request, Closure $next)
{
    $privilege = $request->session()->has('privilege');

    if($request->session()->has('privilege'))
    {
        if($privilege == "Owner" || $privilege == "owner")
        {
            return $next($request);
        }
        else
        {
            return redirect()->back()->withErrors(['privilege_check' => "You are not privileged to go there!."]);
        }
    }
    return '/home';
}

2 个答案:

答案 0 :(得分:3)

很可能您还没有设置session('privilege')。如果您已经设置了它,那么关闭浏览器并从头开始再次运行应用程序。它可能在开发过程中没有建立。

答案 1 :(得分:3)

检查

public function __construct()
{
    $this->middleware(function ($request, $next) {
        if(Session::get('user_id') == NULL)
        {
            return Redirect::to('login');
        }else{
            return $next($request);
        }
    });
}
相关问题