我正在尝试让我的 Yii 应用程序在特定类型的用户登录时在设定的秒数后自动注销。
我对我的受保护/组件/网络用户.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
。