2017-05-17 21 views
0

私は1つのユーザー名を使用してログインするユーザーを終了したい、私はmongodbでセッションを保存し、セッションを削除し、mysqlユーザーテーブルのauth_keyを変更し、私が最初に 別の方法で私を覚えて確認認証キーそれらすべてのユーザー、スローサイトがログアウトし、私はセッションのdbにMongoDBにAUTH_KEYを保存する変更したときに、私はこの方法(web.php)で認証キーを保存セッションとクッキー(auth_key)でユーザーを終了

'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

writeCallbackでauth_keyを使用しないでください。 すべてのページの更新を再生成します。

+0

各ページの更新時に有効期限も生成されますが、どのように停止するのですか? – Avinash