我正在尝试让我的Yii应用在特定类型的用户登录后的一定秒数后自动注销。
我对protected / 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
答案 0 :(得分:0)
尝试在Yii::app()->user->homeUrl
函数中使用Yii::app()->user->returnUrl
代替afterLogout
。