1
我使用Sentinel來驗證用戶身份,並作爲身份驗證的中間件。Laravel 5.1哨兵::的getUser()返回null
中間件代碼:
public function handle($request, Closure $next)
{
var_dump(Sentinel::guest()); // prints false
if (Sentinel::guest()) {
if ($request->ajax()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('/login');
}
}
return $next($request);
}
控制器代碼:
public function getAccount() {
var_dump(Sentinel::guest()); // prints true
return Sentinel::getUser();
}
routes.php文件
Route::group(['middleware' => ['auth']], function() {
Route::get('api/v1/temp/users/account', 'App\Http\Controllers\[email protected]');
}
然後,如果我瀏覽到api/v1/temp/users/account
所述的var_dump()在中間件正在打印假,而後續代碼var_dump()控制器內部正在打印真這似乎無義。
怎麼了?