laravel在已登录的情况下,构造函数__construct()无法获取用户数据

public function __construct()
{
    var_dump(Auth::user());
}

结果输出null

查看laravel文档后发现,在5.4版本前是可以的,在5.4后无法再获取。

文档也给出了解决办法,那就是在构造函数中构建一个闭包中间件,在中间件中获取用户信息

public function __construct()
{
   $this->middleware(function ($request, $next){
        var_dump(Auth::user());
        if(!$request->user()){
              redirect('login')->send();
        }
        return $next($request);
   });

}