У меня есть интересная проблема с Laravel 5.
После входа в систему пользователь не зарегистрирован на всех страницах. Очевидно, что это имеет какое-то отношение к Session::
.
То, как я регистрирую пользователя, довольно прямолинейно:
if (Auth::attempt(['email' => $data['email'], 'password' => $data['password']],
isset($data['remember_me']) ? TRUE : FALSE))
{
return redirect()->intended('/');
}
Простой print_r(Session::all());
дает мне следующее, если пользователь НЕ вошел в систему:
Array
(
[_token] => wV8o75lZnCZ0f6CMMQgdBBM2AxSYjtWisAXx6TgZ
[flash] => Array
(
[old] => Array
(
)
[new] => Array
(
)
)
[_previous] => Array
(
[url] => http://localhost/public
)
)
После того, как пользователь зарегистрирован в перенаправленном на /
, массив выглядит следующим образом:
Array
(
[_token] => wV8o75lZnCZ0f6CMMQgdBBM2AxSYjtWisAXx6TgZ
[flash] => Array
(
[old] => Array
(
)
[new] => Array
(
)
)
[_previous] => Array
(
[url] => http://localhost/public/
)
[login_82e5d2c56bdd0811318f0cf078b78bfc] => 2
)
Однако после любого действия, которое приведет к обновлению страницы или перенаправлению, состояние сеанса будет потеряно.
Мой файл config/session.php
выглядит так:
<?php
return [
'driver' => env('SESSION_DRIVER', 'file'),
'lifetime' => 120,
'expire_on_close' => false,
'encrypt' => false,
'files' => storage_path('framework/sessions'),
'connection' => null,
'table' => 'sessions',
'lottery' => [2, 100],
'cookie' => 'laravel_session',
'path' => '/',
'domain' => null,
'secure' => false,
];
Можно записать и прочитать локально сохраненный файл для сеанса.
Я пытался использовать database
диск вместо файла. То же самое происходит, когда ключ/значение [login_xx] => 2
теряется, и я выхожу из системы.
Поскольку Session::
не полностью reset, я подозреваю, что я не правильно вхожу в систему пользователя или просто делаю то, что я не должен делать где-то.