キャッシュを有効のままにして、ログアウト後に戻ったときにユーザーが情報を表示できないようにする必要があります。
ログアウト + 戻るボタンでキャッシュされたページが表示されるのは、ブラウザー内の設計によるものであることは承知しています。キャッシュを無効にすることは、ログアウトを強制する方法であり、再検証を強制する方法であることを認識しています。
JSP(具体的にはCQ5)を使用すると、これは可能ですか?
次の解決策を念頭に置いていますが、ニーズに最適なアプローチがどれかわかりません。
- どこでもキャッシュを無効にします。これは機能しますが、使用している発行元がページの再アップに多忙になるため、受け入れられません。
- 「ログアウト」ボタンはページ A に POST します。ページ A はセッションを強制終了し、ユーザーをページ B に転送して「ログアウトしました」というメッセージを表示します。ページ B から "戻る" と、値を再投稿する必要があることについてブラウザが提供するメッセージが表示されます。はい = ユーザーはログアウトし (この時点では無害)、ページ B に再び転送されます。いいえ = ページ A に無害に座っています。ただし、「戻る」+「いいえ」+「戻る」では、キャッシュされたページにそれらが表示されるか、履歴から選択してもキャッシュされたページが表示されます。
- 「ログアウト」ボタンをクリックすると、新しいウィンドウが開き、セッションを終了するかどうかを確認/警告します。「きっと」は window.opener.reload() または window.opener.close() を実行します。しかし、JavaScript が無効になっていると、私たちは運命づけられます。
- 「ログアウト」は現在のページに投稿します。すべてのページで、何らかの POSTd 値の存在がチェックされます。存在する場合は、「ログアウトされました」というメッセージとともにページ B に転送します。#2に似ています。これにより、基本的にページが「ログアウトされました」ページに再キャッシュされますが、「戻る」または履歴にはページがキャッシュされたままになります。
ユーザーのキャッシュを手動でクリアしたり、キャッシュされたページでも検証チェックを強制する方法はありますか? 私はここでアイデアがありません...