用户空闲一段时间后如何在yii2中自动注销用户

时间:2016-02-22 09:28:52

标签: session yii2

我正在使用Yii2,我希望用户自动注销并在固定空闲秒后重定向到登录页面。

我已经尝试了

 'components' => [
    'user' => [
            'identityClass' => 'app\models\User',
            'enableAutoLogin' => true,
             'authTimeout' => 60,
        ]
    ],

我该怎么办?

3 个答案:

答案 0 :(得分:1)

您可以将JavaScript函数设置为每分钟运行一次,以便进行ajax调用并检查当前用户的会话是否已过期。然后,您可以使用JavaScript重定向:

window.location("example.com/login");

答案 1 :(得分:0)

  1. 您是否拥有登录用户'您&& 39;用户的财产? 见http://www.yiiframework.com/doc-2.0/yii-web-user.html

    '用户' => [          ' loginUrl' = GT; ['位点/登录']]

  2. 您的控制器是否有针对需要经过身份验证的用户的操作的规则? 请参阅http://www.yiiframework.com/doc-2.0/guide-security-authorization.html

答案 2 :(得分:0)

请勿将enableAutoLogin设为true。使用以下配置:

...
'user' => [
        'identityClass' => 'backend\models\Users',
        'enableSession' => true,
        'authTimeout' => 300,
   ],
....
// below is documentation from source code for authTimeout

/**
 * @var integer the number of seconds in which the user will be logged out automatically if he
 * remains inactive. If this property is not set, the user will be logged out after
 * the current session expires (c.f. [[Session::timeout]]).
 * Note that this will not work if [[enableAutoLogin]] is true.
 */