自动注销yii

时间:2015-08-06 10:59:22

标签: php yii

如果用户空闲,如何在几分钟后自动注销 我正在使用yii框架。

我可以在main.php中的用户组件下设置注销时间 但问题是如何检查用户是否空闲?

4 个答案:

答案 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分钟后超时,然后自动重定向到站点/登录页面。