Я пытаюсь получить мое приложение Yii для автоматического выхода из системы после установленного количества секунд, когда пользователь вводит определенный тип пользователя.Не удалось выйти из приложения Yii app & force для перенаправления (Yii 1.x)
я сделал следующее загладить мой защищенный/компоненты/файл WebUser.php:
public function init() {
parent::init();
if (($user = $this->getState('userModel')) !== null) {
$this->setUserData(unserialize($user));
if ($this->isNonAdminUser()) {
$this->authTimeout = 3600; // 1 hour timeout
}
}
$this->updateAuthStatus();
}
// function automatically directly after $this->logout()
protected function afterLogout() {
Yii::app()->request->redirect(('site/front/login'));
//Yii::app()->request->redirect((Yii::app()->user->returnUrl));
}
Это в основном выход из программы «не пользователь с правами администратора» из сессии после того, как 1 часов отсутствия активности - это работает, однако Я хотел бы также «заставить» их вернуться на домашнюю страницу. Я попытался использовать функцию перенаправления в afterLogout(), но по какой-то причине, похоже, она не перенаправляет?
Любые идеи, почему бы и нет?
Примечание - Я использую YII 1.x
Вы подтвердили, что 'afterLogout()' действительно был вызван? Кроме того, 'returnUrl' будет последней просматриваемой страницей не на главной странице. –
хороший звонок с возвратом. Все это выходит из системы, и оно попадает в afterLogout(), поскольку я добавил случайный путь в перенаправление, однако я хотел бы сказать, что мое приложение автоматически перенаправляет обратно, чтобы перенаправить URL-адрес, если это возможно. Замечание - выход из строя прекрасен, как только время истекает, если я нажму F5 и перезагрузите страницу, я вышел из системы и перенаправлен - я просто пытаюсь вытащить ручной элемент из меня, чтобы перезагрузить (если возможно) – Zabs
Ah хорошо, я вижу. Это возможно только с помощью javascript и ajax. В основном вы устанавливаете таймер для вызова функции после 3600 секунд, которая проверяет, должен ли пользователь выйти из системы. Если это так, перенаправление места в javascript. –