Я установил 'lifetime' => 10
в мой конфигурационный файл сеанса, но он не истекает вообще.
В laravel 3 с этим параметром после входа в систему, когда предел превысит 10 минут, сеанс истекает правильно, и пользователь снова перенаправляется на логин.
В laravel 4 этого не бывает. Через 10 минут я могу обновить, сделать что угодно, и все еще сеанс действителен.
Я тестирую на одной машине с аналогичными настройками … Что мне не хватает?
Я понял. Проблема заключалась в времени lifetime
конфигурации config и expire_on_close
.
Если для параметра expire_on_close
установлено значение true, laravel 4 будет игнорировать lifetime
. Я имел:
'lifetime' => 1, 'expire_on_close' => true,
и в этом случае сеанс действителен через 1 минуту – он истекает только после закрытия браузера. Я изменил его на:
'lifetime' => 1, 'expire_on_close' => false,
и теперь сеанс истекает через 1 мин. независимо от того, закрыт ли браузер или нет – достаточно близко к тому, что я хотел.
Причина, по которой я был смущен и раньше не понял, что комментарии там неясны в этом вопросе, и что в Laravel 3 он работал по-другому …