Я пытаюсь заставить мое приложение Yii автоматически выйти из системы через определенное количество секунд, когда вошел пользователь определенного типа.
Я внес следующие изменения в мой защищенный файл / components / 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
Попробуй использовать Yii::app()->user->homeUrl
вместо Yii::app()->user->returnUrl
внутри afterLogout
функция.
Других решений пока нет …