我使用此代码使得Enduser在注销后无法使用浏览器后退按钮访问应用程序页面。如果最终用户单击浏览器后退按钮,则需要再次将用户踢回ApplcationLogin页面。这里工作正常,但点击后退按钮后,它会给出一个页面(不是应用程序登录页面)。如果用户点击了tryagain按钮,那么该页面控制文件已过期消息与tryagain按钮应用程序将重新登录。这是代码。
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 :(得分:1)
您最有可能使用HTTP基本身份验证。使用基本身份验证,没有真正的方法可以清除浏览器中的凭据。当访问某些受保护的内容时,浏览器只会再次发送凭据。此过程与您的缓存标头完全无关。
如果这是原因,您可以切换到基于表单的身份验证。我们做的另一个技巧是将重定向发送到dummy:dummy@xy.com/loggedout.jsp以清除浏览器中的用户密码凭据,但这样做并不完美并且会使用户感到困惑。