Php Laravel auth::guard(';web';)->;用户()在身份验证中间件中为空
我将myRoute放在auth中间件组中,得到Php Laravel auth::guard(';web';)->;用户()在身份验证中间件中为空,php,laravel,authentication,Php,Laravel,Authentication,我将myRoute放在auth中间件组中,得到 // myController Auth::guard('web')->user() // null 我不知道该怎么办。。我有下面的控制器和路由 似乎父控制器构造函数正在工作,但中间件没有 // Controller.php public function __construct() { $this->middleware(function ($request, $next) { $this->curr
// myController
Auth::guard('web')->user() // null
我不知道该怎么办。。我有下面的控制器和路由
似乎父控制器构造函数正在工作,但中间件没有
// Controller.php
public function __construct() {
$this->middleware(function ($request, $next) {
$this->currentUser = Auth::guard('web')->user();
return $next($request);
});
}
// myController extends Controller
public function __construct(Request $request) {
parent::__construct();
$this->request = $request;
var_dump($this->currentUser); // null
var_dump(Auth::guard('web')->user); // null
// $userId = Auth::guard('web')->user()->id;
// $userId = $this->currentUser->id;
$this->userId = $userId;
}
// route/web.php
Route::middleware(['auth'])->group(function () {
Route::get('myRoute', 'myController@index');
}
无法在构造函数中获取Auth::user()。尝试Auth::guard('web')->user();用另一种方法。结果不再为空您无法在构造函数中获取Auth::user()。尝试Auth::guard('web')->user();用另一种方法。结果不再为空您不需要指定guard(“web”),因为默认情况下,laravel假设web guard。我也有同样的问题。你能分享代码吗?它是如何工作的?您不需要指定guard(“web”),因为默认情况下,laravel假设web guard。我也有同样的问题。你能分享代码吗?它是怎么工作的?