0
我把myRoute的權威性中間件組內空,我得到Laravel AUTH ::後衛( '網絡') - >用戶()是在身份驗證的中間件
// 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', '[email protected]');
}
你不需要指定guard('web'),因爲在默認情況下,laravel假定web守護。 –