我在construct()中设置中间件时遇到问题。
每次只选择后一个,这里将auth作为中间件。
由于这个原因,我的管理员被踢出了用户的登录页面。
没有中间件我面临lfm问题,因为管理员被要求在laravel-filemanager窗口登录(允许用户浏览)。
以下是我的代码: 公共函数__construct() {
$middleware = '';
if(Session::get('user_role') == 'admin'){
$middleware = 'auth:admin';
} else {
$middleware = 'auth';
}
$this->middleware($middleware);
}
答案 0 :(得分:0)
您无法在构造函数中访问http请求或会话信息。
在以前版本的Laravel中,您可以在控制器的构造函数中访问会话变量或经过身份验证的用户。这从未打算成为框架的明确特征。在Laravel 5.3中,您无法访问控制器构造函数中的会话或经过身份验证的用户,因为中间件尚未运行。
来源:https://laravel.com/docs/5.3/upgrade(从5.2>控制器升级到5.3.0)