Кажется, у меня не работает сессия Laravel.

Когда я перезагружаю страницу, все данные сеанса, похоже, теряются.

То есть:

  • CSRF-Токен
  • Session::put('ключ', 'значение');
  • Session:: Get ('ключ');

CSRF Token

Форма входа:

Session::token() => Cr3TwtQOWg6O2zV8rfksTQfqwEb3NxXjmIiA54kX
<input name="_token" type="hidden" value="Cr3TwtQOWg6O2zV8rfksTQfqwEb3NxXjmIiA54kX">

Но когда форма отправлена:

Session::token() => gIDZJ4aP3zw3cdZm3BjRHo05TMWrIfNiiBjSIfni
Input::get('_token') => Cr3TwtQOWg6O2zV8rfksTQfqwEb3NxXjmIiA54kX

Сессия :: положить / получить

Форма входа:

Session::put('token_session_test', 'This is a string that should verify that the session works');

Session::get('token_session_test') => This is a string that should verify that the session works

Когда подано:

Session::get('token_session_test') => 

У кого-нибудь есть идеи, почему это происходит или как это исправить?

Заранее спасибо!

2 ответа2

0

В итоге оказывается, что конфигурация была настроена на сохранение файлов cookie в поддомене, под которым этот сервер больше не работал, поэтому он никогда не использовался повторно, и при каждом запросе генерируется новый сеанс.

0

Вам нужно добавить группу маршрутов вways.php.

Route::group(array('before' => 'csrf'), function()
{
    Route::post(....); // here you can add login post where you can validate username and password
});

В режиме входа в систему необходимо добавить {{Form ::token(); }} с лезвием

Маркер csrf генерируется для каждого обновления.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .