1

CakePHPでの認証に問題があります。何をしようとしても、Cakeは、リクエストのたびに認証が解除されているか、以前にブラウザを閉じていても認証されているかを通知します。

私の認証システムがどのように機能するかを簡単に説明します。remember meユーザーは、チェックボックスがオンになっているかどうかに関係なくログインします。チェックされている場合、ユーザーが次にサイトにアクセスしたときに自動ログインされるように、Cookieを作成します。基本的に、ユーザーがブラウザを閉じるときに、Cakeがブラウザに保存しているすべてのセッションCookieを削除する必要があります。このように、ユーザーが戻ってきたときに、記憶したくない場合はログインページが表示され、remember me保存することを選択した場合はCookieから自動的にログインします。

問題は、core.phpのSession.timeoutとSecurity.levelの両方で遊んだのですが、良い結果が得られなかったということです。タイムアウトを0にすると、Cakeはリクエストごとに認証を解除し、ページを表示できなくなります。タイムアウトに他の値を設定すると、ユーザーがブラウザーを閉じて再度開いたときに、Cakeセッションが期限切れにならなかったため、引き続きログインできた可能性があります。

結論として、ブラウザを閉じるたびにセッションCookieを自動的に削除するにはどうすればよいですか?

4

1 に答える 1

3

この記事を見てください。多分あなたを助けることができます、私は他の目的のために似たようなものを使います。

http://bakery.cakephp.org/articles/admad/2009/09/02/how-to-bend-cakephp-s-session-handling-to-your-needs

見る:ini_set('session.cookie_lifetime', 0);

于 2010-11-13T12:08:09.470 に答える