当用户面对异常事物时注销用户

时间:2018-03-16 10:48:02

标签: php authentication redis yii2 yii2-advanced-app

当用户面对不寻常的事情时(例如当用户使用他/她的账户时关闭他/她的电脑),有没有办法在yii2高级注销用户。 默认值为yii2:当您登录并且计算机进入关闭状态时,当您再次启动并转到您的帐户时,您处于登录状态,但您的会话ID将会更改。 我想注销用户或至少会话ID永远不会改变。

2 个答案:

答案 0 :(得分:2)

也许你想为User类禁用enableAutoLogin参数,这样当用户关闭浏览器或关闭/重新启动计算机时,他将不得不再次输入登录数据。

出于安全原因,这种行为通常用于银行系统(至少在我的国家)。

如果您正在寻找,那么可以在frontend/config/main.php文件

中配置此设置
'components' => [
    ..
    'user' => [
        'identityClass' => 'common\models\User',
        'enableAutoLogin' => false,
        ..
    ],

答案 1 :(得分:1)

如果用户重新启动计算机,那里的浏览器会话cookie将保持不变,直到它们过期或用户选择从浏览器缓存中删除它们/清除数据。根据定义,如果用户仍然登录,则会保留其会话 。这与客户端计算机是否已重新启动或客户端计算机上的任何其他状态更改无关 - 您的网站对此无关,即它没有任何机制来了解状态的这种特定更改,也不应该在意。

如果您希望以编程方式注销用户,可以将此代码用于控制器中的本机Yii2 user application component

Yii::$app->user->logout();