Я использую флажок «Запомнить меня», реализованный с помощью функции Zend rememberMe для автоматического входа в систему. Я написал это условие внутри контроллера для входа в систему, но я хочу, чтобы он сбрасывался до 7 дней при каждом автоматическом входе в систему (если текущий логин является автоматическим).
$ секунды = 60 * 60 * 24 * 7; // 7 дней
Zend_Session :: RememberMe (секунд $);
Есть ли функция zend по умолчанию для обновления файла cookie во время каждого доступа. Кстати, я новичок в кодировании. Надеюсь, кто-то может мне помочь. Благодарю.
Вы не захотите установить cookie с помощью Zend_Session::rememberMe()
для каждого доступа. Причина этого заключается в том, что каждый вызов функции rememberMe()
заставляет генерировать новый идентификатор сеанса, а файл cookie заменяется на новый идентификатор. Данные из старого сеанса копируются в новый, и старый сеанс удаляется.
Хотя из этого не будет никакого реального вреда, при каждом запросе на это накладные расходы приходится делать. По словам Зенда, лучше всего назвать это после начала сеанса.
Кроме того, если вы сделали это безоговорочно по каждому запросу, единственный способ разграничения автоматического входа в систему после продолжительного времени и случайного просмотра – это сохранить временную метку в сеансе и проверить ее в начале каждого запроса и установить ограничение по времени чтобы определить, как человек ушел.
Вместо этого вы можете сделать это, когда возвращающийся посетитель перейдет на вашу страницу входа в систему; вы можете перенаправить их, и они войдут в систему без аутентификации.
Или, если вы хотите периодически обновлять cookie сеанса, вы можете вызвать rememberMe()
в файле Bootstrap.php
после того, как вы запустили сеанс. Если вы запустите сеанс из плагина или непосредственно в контроллерах, вы должны поместить его в память после запуска сеанса и делать это каждый раз (по вашему усмотрению).
См. Session_regenerate_id (), который вызывается при вызове Zend_Session::rememberMe()
и Zend Framework – Идентификаторы сеанса , а также следующий раздел о захвате и фиксации сеанса.
Вы не можете использовать Zend_session для этого. Используйте куки для make помните меня.