0

LAMPサーバーでCakePHPv2を使用していますが、ユーザーがアクティブなままの場合、セッションが自動的に更新されないという問題があるようです。

つまり、セッションCookieを3日に設定すると、ユーザーは、ずっとアクティブであったとしても、3日後にログアウトされます。

最初は、これは正しい動作かもしれないと思いましたが、それについての質問を投稿したとき(CakePHPセッションCookieの寿命を延ばす)、私が経験している動作はデフォルトではないことを示唆する傾向がありました行動。

だから、おそらく私はどこかで何か間違ったことをしました。これが私がAPP/Config /core.phpに入れたものです:

Configure::write('Session', array(
    'defaults' => 'database',
            'cookie' => 'mycookie',
            'timeout' => 4320 //3 days
));

ユーザーの最後のアクティビティから3日間Cookieを有効にしておくだけです。現在のところ、ユーザーがずっとアクティブであったとしても、3日後に期限切れになります。

4

2 に答える 2

1

これをAppControllerのafterFilterアクションに入れます。

$ this-> Session-> renew();

これにより、セッションCookieが更新されます。

(beforeFilterに入れると、何らかの理由でフロントエンドに移動した場合、管理セッションが期限切れになりました。)

于 2013-03-03T20:28:00.597 に答える
0

要件を達成するには、カスタム セッション ハンドラーを作成する必要があると思います(セッションを読み取るときに、セッションの有効期限を更新するだけです)。

于 2012-06-01T06:02:31.027 に答える