我在 UserControler 检查登录: Auth :: check () == true;if (Auth::attempt(['email' => $request->email, 'password' => $request->password])){ var_dump(Auth::check());}但检查登录Controller: Auth :: check () == false;请帮助我理解它。下面是我的代码:<?phpnamespace App\Http\Controllers;use Illuminate\Foundation\Bus\DispatchesJobs;use Illuminate\Routing\Controller as BaseController;use Illuminate\Foundation\Validation\ValidatesRequests;use Illuminate\Foundation\Auth\Access\AuthorizesRequests;use Illuminate\Support\Facades\Auth;use Illuminate\Support\Facades\Session;class Controller extends BaseController{ use AuthorizesRequests, DispatchesJobs, ValidatesRequests; function __construct() { $this->checkLogin(); } function checkLogin() { var_dump(Session::get('user')); view()->share('user_login', Auth::user()); }}
1 回答
慕仙森
TA贡献1827条经验 获得超8个赞
Laravel 5.3 auth 检查构造函数返回 false
您无法在控制器的构造函数中访问会话或经过身份验证的用户,因为中间件尚未运行。
作为替代方案,您可以直接在控制器的构造函数中定义基于闭包的中间件。在使用此功能之前,请确保您的应用程序运行的是 Laravel 5.3.4 或更高版本:
- 1 回答
- 0 关注
- 86 浏览
添加回答
举报
0/150
提交
取消