如果用户空闲,如何在几分钟后自动注销 我正在使用yii框架。
我可以在main.php中的用户组件下设置注销时间 但问题是如何检查用户是否空闲?
答案 0 :(得分:1)
if(isset(Yii::app()->request->cookies['lastpageview']) && (time()-(int)Yii::app()->request->cookies['lastpageview']->value > 3600))
{
//logout
}
else
{
Yii::app()->request->cookies['lastpageview'] = new CHttpCookie('lastpageview', time());
}
其中3600是允许的最大数量或秒数
答案 1 :(得分:0)
对于Yii 1.xx,CWebUser具有属性authTimeout。 从关闭文档:
authTimeout - 用户注销后以秒为单位的超时时间 不活动的。
将其设置为主配置:
...
'components' => array(
....
'user' => array(
'authTimeout' => 60*60*5,
),
....
),
...
答案 2 :(得分:0)
您可以使用CDbHttpSession组件使其正常工作:
'components' => array(
'session' => array(
'class' => 'CDbHttpSession',
'timeout' => 1,
),
),
答案 3 :(得分:0)
'user' => [
'identityClass' => 'app\models\User',
//'enableAutoLogin' => true,
'enableSession' => true,
'authTimeout' => 900,
],
对我来说工作正常!(YII 2.0) 如果请求在15分钟后到达,则在15分钟后超时,然后自动重定向到站点/登录页面。