Продление срока действия сеанса более чем на несколько часов является плохой идеей по многим причинам, а не только потому, что вы ведете сеансы удаленных пользователей.Также существуют проблемы с производительностью и безопасностью, связанные с тем, что вы сохраняете активный сеанс (с идентификатором сеанса) в своей базе данных / хранилище сеансов.
См. постоянный вход в систему с Zend_Session :: запомнитьMe .
В любом случае вы должны повторно проверять свою учетную запись пользователя при каждой загрузке страницы, чтобы убедиться, что его пользователь все еще существует и активен:
Я создал функцию повторной проверки, которую я вызываю при каждой загрузке страницы,Функция вызывается из функции init () контроллера, прежде чем пользователь сможет что-либо сделать.
public static function revalidate() {
$userData = self::getIdentity();
$modelUsers = new \Model_Users();
$user = $modelUsers->fetchWithEmail($userData['email']);
if ($user instanceof \Model_User) {
if ($user->getRoleType() == 'ACCOUNT') {
return $user;
}
}
return false;
}