我想终止使用一个用户名登录的用户,我在mongodb中保存会话并删除会话并更改mysql用户表中的auth_key,并且该用户将站点输出。但是当我更改auth key时所有那些用户检查记住我,抛出网站注销,我以不同的方式在会话db mongodb中存储auth_key 首先,我以这种方式保存身份验证密钥(web.php)
'session' => [
'class' => 'yii\mongodb\Session',
'writeCallback' => function($session)
{
return [
'user_id' => Yii::$app->user->id,
'agent' => Yii::$app->request->getUserAgent(),
'ip' => Yii::$app->request->getUserIP(),
'auth_key' => Yii::$app->security->generateRandomString(),
];
}
],

但是每次刷新页面时都会出现问题,auth_key会重新生成,
我这样做的另一种方式是,我在登录后覆盖方法,但有些时候有问题,auth_key被保存但有时没有。
我该怎么做才能避免这个问题?以及你对这种方式的建议是什么?这是对的吗?
答案 0 :(得分:0)
您不能在writeCallback中使用auth_key。 它会重新生成每一页刷新。