按会话和cookie终止用户(auth_key)

时间:2017-05-17 09:51:06

标签: yii2 terminate

我想终止使用一个用户名登录的用户,我在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被保存但有时没有。

我该怎么做才能避免这个问题?以及你对这种方式的建议是什么?这是对的吗?

1 个答案:

答案 0 :(得分:0)

您不能在writeCallback中使用auth_key。 它会重新生成每一页刷新。