0

奇妙な問題があります。Yii で Web アプリケーションをビルドしています。

アプリケーションからログアウトするたびに、ユーザーはホームページに戻ります。ただし、ページを更新すると。ユーザーが再度ログインします。

ここに設定ファイルがあります

'session' => array(
       'class'=>'CDbHttpSession',
        'timeout'=>$params['session_timeout'],
        'autoStart'=>true,
    ),

ここに私のログアウトコードがあります

    Yii::app()->session->clear();
    Yii::app()->session->destroy();
    Yii::app()->cache->flush();
    Yii::app()->user->logout();

最近、ランタイム フォルダーに session-1.1.8 というファイルがあることに気付きました。ログアウト時に削除されません。ただし、手動で削除すると、ユーザーは永久にログアウトされます。

だから私の質問は

1) 私がここで間違っていることはありますか?

2) この「session-1.1.8」ファイルは何ですか?

3) 永久にログアウトするにはどうすればよいですか?

4

2 に答える 2

1

Yii ドキュメントから:

デフォルトでは、アプリケーションの実行時ディレクトリの下にある「session-YiiVersion.db」という名前の SQLite3 データベースを使用します。DBアプリケーションコンポーネントを利用してデータベースにアクセスするように、connectionIDを指定することもできます。

それがファイルの送信元でした。独自のdbコンポーネントを使用してみてください。修正する必要があります。

Yii::app()->user->logout();すでに呼び出されているYii::app()->getSession()->destroy();ため、手動で行う必要はありません。

于 2013-10-20T14:26:39.410 に答える
0

私はこのセットを使用して、非常に良くなっています:

'cache'=>array(
   'class' => 'CFileCache', 
),

'session' => array(
   'class' => 'CDbHttpSession',
   'timeout' => 60*60*24*30*12*5, 
),  

60*60*24*30*12*5 = 60 秒、60 分、24 時間、30 日、12 モン、5 年

于 2015-02-09T07:53:30.200 に答える