Laravel 5.2, auth :: check возвращает true после входа в систему, но false после перенаправления
Я пытаюсь использовать систему аутентификации, которая поставляется с laravel 5.2. Кажется, что логин работает правильно, если я заменю оператор return на Auth :: check (), он вернет true. Но когда я перенаправляю на '/', Auth :: check () неожиданно возвращает false в моем промежуточном программном обеспечении Auth.
Метод создания сессий:
public function create(Request $request)
{
$email = $request->email;
$password = $request->password;
if(Auth::attempt(['email' => $email, 'password' => $password])) {
return redirect()->intended('/'); // returns true when replaced with Auth::check();
}
return redirect("login");
}
Auth Middleware:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guest()) {
if ($request->ajax() || $request->wantsJson()) {
return response('Unauthorized.', 401);
} else {
return var_dump(Auth::check()); // returns false
}
}
return $next($request);
}
Файл маршрутов:
Route::post('/create-session', 'SessionController@create');
Route::get('/logout', 'SessionController@logout');
Route::get('/login', function() {
return view('login');
});
Route::group(['middleware' => ['web', 'auth']], function(){
Route::get('/', 'HomeController@getIndex');
});