2016-05-19 9 views
1

に失効するAuthTimeout前に破壊されます、私は私の設定を持っている/ main.phpセッションがYii2でyii2

'components' => [ 
    'user' => [ 
     'identityClass' => 'common\models\User', 
     'authTimeout' => 43200, 
     'loginUrl' => null, 
    ], 
... 
] 

私は私の全体のシステムで私のするAuthTimeout変数を参照しようとしています大丈夫です、すべては除いて正常に動作します私のセッションはauthTimeoutの前に期限が切れます。私はフロントエンドが角度であり、RBACのためにmdmsoft/yii2-adminを使用しているので、loginのためにaccess_tokenを使用しています。 そして、なぜ私はauthTimeoutの前にログアウトしているのですか?
ありがとう

答えて

0

おそらく、グローバルにsession.gc_maxlifetimeがアプリケーションで設定した値よりも低く設定されている可能性があります。 echo ini_get("session.gc_maxlifetime");を使用すると、現在の値を取得できます。

This answerでは、アプリケーション内でその値を大きくする方法について説明しています。 this threadで説明されているように、一部のホストはphp.iniで設定されたセッションタイムアウト値を上書きする傾向にあることに注意してください。そのような場合でも、this answerが役に立ちます。

これが当てはまらない場合は、スクリプト、ホスト、およびPHPの設定に関する詳細情報を入力してください。私はそれに応じて答えを更新します。

+0

私のsession.gc_maxlifetimeは1440です。これは24分を意味しますが、特定のtime.Iではなくログアウトしています。何かアクティビティをクリックすると毎回実行されるタイマーのようなものがあります。私は4時間もしばらくログアウトしていない私のauthTimeが私のアプリケーション内にあるのは私が設定したものと同じです。私はUser.phpにWeb内のyii2softに行きます。期間は216000です。私のExpire時間はブラウザも12時です私のすべてのリクエストのように、私のsession.gc_maxlifetimeは私の前のセッション(ie.session.gc_maxlifetime)に追加されますか? –