Sesja Laravel resetuje się po ponownym załadowaniu


0

Moja sesja laravel nie działa.

Po ponownym załadowaniu strony wszystkie dane sesji wydają się być utracone.

To znaczy:

  • CSRF-Token
  • Session :: put („klucz”, „wartość”);
  • Session :: get ('key');

Token CSRF

Forma loginu:

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

Ale kiedy formularz zostanie przesłany:

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

Sesja :: put / get

Forma loginu:

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

Po przesłaniu:

Session::get('token_session_test') => 

Czy ktoś ma pomysły, dlaczego tak się dzieje lub jak naprawić?

Z góry dziękuję!

Odpowiedzi:


0

Musisz dodać grupę tras w route.php.

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

W widoku logowania musisz dodać {{Form :: token (); }} z ostrzem

Token csrf jest generowany dla każdego odświeżenia.


0

W końcu okazuje się, że konfiguracja została ustawiona na zapisywanie plików cookie w subdomenie, której ten serwer już nie był, dlatego nigdy nie był ponownie wykorzystywany, a na każde żądanie generowana jest nowa sesja.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.