Rock笔记
~/rocknotes/articles/378.md article
// article · laravel

【笔记】Laravel 中__construct 无法获取 Auth::user () 信息无法共享 user 数据的解决办法

Laravel5.3+以后__construct函数已无法获取Auth::user()信息了。

故想在__construct中共享Auth::user()的信息已变得不可行,例如下图所示

image.png


因Laravel框架加载流程 middleware执行总在__construct函数之后运行,故弄个middleware来解决该问题


1、创建一个middleware

class CheckAuth
{
    public function handle($request, Closure $next)
    {
        view()->share('user',Auth::user()); //将数据共享到视图上
        return $next($request);
    }
}


2、在Kernel中注册中间件

protected $routeMiddleware = [
        'checkAuth' => \App\Http\Middleware\CheckAuth::class,//定义的中间键
];


3、在构造函数中使用

$this->middleware('checkAuth');


回复// 0 replies

最新回复 ↓
// 暂无回复

回复功能沿用原详情页:前往原页面参与讨论 →