1

ユーザーがログアウト (またはログイン) したときに、ユーザーのセッション Cookie の値が変更されていることを確認したいと思います。どうやってやるの?session.invalidate()アクティブなセッションがないため、TomcatがセッションCookieヘッダーを返さない場合、Cookieは同じままです。新しいセッションを作成する場合session.invalidate(); request.getSession()、新しいセッションは同じ sessionId を取得するため、Cookie も同じままです。

(1 つの sessionId を共有する複数の WAR があり、他の WAR のセッションも簡単に無効にできないため、セッション cookie の値を変更したいと思います。)

4

1 に答える 1

1

期限切れのCookieを応答に追加して、Cookieを手動で削除する必要があるようです。つまり、でCookieを見つけ、request.getCookies()そのmaxAgeを0に設定して、を実行しますresponse.addCookie(..)。また、セッションを無効にし、その要求でセッションを再作成しないように注意する必要があります。つまり、「ログアウトしました」ページを直接表示することはできませんが、クライアント側でそのようなページにリダイレクトする必要があります。これにより、新しいセッションCookieが割り当てられます。

于 2012-11-16T12:32:42.840 に答える