我正在 Yii
和 Ext JS
中实现登录
和注销
功能。到目前为止,我想我已经做到了。但我也想维护一个 session ,以便当用户刷新 ExtJS 页面时,如果用户仍然登录,并且时间过去了,用户将再次注销,我希望保留在当前页面上。
注意: 我正在使用ajax请求进行登录和注销
我尝试阅读文章,但不知道该怎么做
http://www.yiiframework.com/forum/index.php?/topic/12124-how-to-implement-session-timeout/
我是 yii 的新手,所以有人可以建议我如何实现此功能。
到目前为止,我已在 config.php 文件中启用它
'session' => array (
'class' => 'system.web.CDbHttpSession',
'connectionID' => 'db',
'sessionTableName' => 'sessions',
),
最佳答案
在 Yii 中,“记住我”功能是通过 cookie 实现的,这也适用于 extjs。因此,登录时您应该执行如下操作:
$identity = new UserIdentity($this->username, $this->password);
if ($identity->authenticate() && $identity->errorCode === UserIdentity::ERROR_NONE) {
$duration = 3600*24*30; // 30 days
Yii::app()->user->login($this->_identity, $duration); // <----- here!
}
很可能您已经在某处使用了 Yii::app()->user->login
,因此找到它并添加第二个参数。
关于php - 在 yii 和 extjs 中实现 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24217325/