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()控制器内部正在打印真这似乎无义。
怎么了?