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');
});

Ответы на вопрос(1)

Ваш ответ на вопрос