2014-01-06 6 views
2

Я использую помощника Sentry::authenticateAndRemember($credentials); для аутентификации пользователя, но через некоторое время (несколько дней) я отсоединяюсь. Используемый драйвер сеанса - это база данных.Sentry 2 с Laravel 4, аутентификация

Я исследовал проблему и попытался понять, как Sentry запоминает аутентификацию пользователя. Во-первых, в таблице сеансов кто-нибудь знает, что представляет собой полезная нагрузка? Я проверил созданные файлы cookie, и я не понимаю, почему, но дата истечения срока устанавливается на месяц позже (тогда как в исходном коде это похоже на 5 лет спустя). Кроме того, я попытался войти в систему, не запомнив его (Sentry::authenticate($credentials, false);), и я получаю тот же самый файл cookie, поэтому я не отсоединяюсь при выходе из браузера.

У кого-нибудь есть подсказка, объясняющая все, что я сказал?

ответ

1

Я нашел решение своей проблемы, в php.ini переменной session.gc_maxlifetime было установлено значение 1440. Этот параметр указывает количество секунд, после которых данные будут отображаться как «мусор», поэтому через 24 минуты моя сессия была признана недействительной ,

После установки 2592000 (30 дней) проблема была решена, я надеюсь, что это поможет кому-то.

0

В Sentry2 с Laravel 4.1 дата окончания срока действия Cookie находится в вендора> caralyst> сторожевые> Тесты> CICookiesTest.php линия 61.

по умолчанию является всего лишь 1440 секунд, так что довольно легко сделать, что палку для хорошего немного длиннее.

Смежные вопросы