2014-02-28 40 views
1

我已經使用此代碼使Enduser無法在註冊後使用瀏覽器後退按鈕訪問應用程序頁面。如果最終用戶點擊瀏覽器後退按鈕,則需要將用戶重新啓動到ApplcationLogin頁面。這是工作正常,但後點擊返回按鈕,它會給出一個頁面(不是應用程序登錄頁面)。此頁面可控制文檔過期消息與Tryagain按鈕,如果用戶單擊Tryagain按鈕應用程序將relogin.Here是代碼。如何避免用戶註銷後的緩存?

res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1. 
       res.setHeader("Pragma", "no-cache"); // HTTP 1.0. 
       res.setDateHeader("Expires", 0); // Proxies 
       chain.doFilter(request, response); 
+0

信息不足。你在使用CMA嗎?你有沒有使會議失效? – EJP

+0

您可能在註銷時沒有使會話(在服務器端)失效,否則服務器將不會提供登錄頁面。 –

+0

我也使我的會話無效 – user3214269

回答

1

很可能您使用HTTP基本身份驗證。使用基本身份驗證,沒有真正的方法來清除瀏覽器中的憑據。當訪問某些受保護的內容時,瀏覽器會再次發送憑證。這個過程與你的緩存頭完全無關。

如果這是原因,您可以切換到基於表單的身份驗證。我們所做的另一個技巧是發送一個重定向到dummy:[email protected]/loggedout.jsp,以清除瀏覽器中的用戶密碼憑據,但是,這並不完美並且會讓用戶感到困惑。