сеанс для аутентифицированного пользователя не устанавливается - PullRequest
0 голосов
/ 10 октября 2019

(я знаю, что следующий пример небезопасен)

У меня есть базовая система аутентификации, где пользователь должен ввести свои учетные данные. Когда введенные учетные данные верны, я установил в своем приложении laravel сеанс, который указывает, что он может выполнять аутентифицированные запросы к API. Я делаю это следующим образом:

 public function authenticate(Request $request){
    $data = array(
        'name' => $request->input('UserName'),
        'password' =>$request->input('Password'),
        'email' => 'test@test.ch'
    );

    If(Auth::attempt($data)){
        $request->session()->put('isAuthenticated',true);
        $request->session()->save();
        return "success";
    }
    return "wrong";
}

Мое промежуточное ПО, где я проверяю, разрешено ли пользователю делать запросы:

  public function handle($request, Closure $next){
    if(!empty($request->session()->get('isAuthenticated')) && $request->session()->get('isAuthenticated') === true){
        return $next($request);
    }
    return redirect('/');
}

Мои маршруты:

Route::post('/login', 'UserController@authenticate'); 

Route::group(['middleware' =>['web','check_auth']], function (){
Route::get('/logs','LogController@getAllLogEntries');
Route::get('/logs/{id}','LogController@getLogEntryById');
});

Моя проблема:

Всякий раз, когда пользователь входит в систему с правильными учетными данными, сервер возвращает «success» в качестве ответа, но всегда направляет меня обратно к базовому корню ('/'). Это заставляет меня предположить, что сессия не установлена. Как я могу исправить эту ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...