2016-03-29 10 views
0

を閉じるとき、私は現在、私は次のシナリオをテストしているクッキーは、ブラウザ

Cookie maxAge always -1

を参照して、JSFで「自動ログイン」メカニズムを実装していますクリアされません。ログアウトをクリックせずに直接ブラウザーを閉じます(ログアウトをクリックすると、クッキーのmaxAgeは0に設定されます)。その後、ユーザーがページを再度読み込むと、フィルタにリクエストにCookieが表示されます(通常、ブラウザを閉じるときにmaxAgeが0に変更されないため)。ユーザーは自動的にログインします。私が望むもの

これを解決する方法はありますか?クッキーとセッションの関係は何ですか?セッションスコープを使用します。私が知っているように、ブラウザが閉じられたときにセッションが破壊されることはありません。それはサーバーの決定次第です。したがって、@PreDestroyは使用できません。私はJquery.unloadも使用できません。ユーザーはブラウザーではなくタブのみを閉じることもできるからです。私のアプリケーションでも、同時にいくつかのタブを開くことができます...

何か提案がありますか?

答えて

2

開いているブラウザのインス​​タンスと同じくらい長く生きているように思われます。私。ブラウザセッションの間だけクッキーを存続させたいとします。

最大の年齢は-1です。これをセッションクッキーにするだけです。 Cookieはブラウザのインス​​タンスと同じくらい長く存続します。

HttpSessionとクッキーとの関係については、How do servlets work? Instantiation, sessions, shared variables and multithreadingにご連絡ください。主な相違点は、HttpSessionにもサーバー管理のタイムアウトがあることです。

+0

クイックアンサー – qiuzmjq

+0

ありがとう、BalusC、両方の問題が解決されました! – qiuzmjq

+0

ようこそ。 – BalusC

関連する問題