我需要阻止用户在注销后向后重定向。我试图使用以下方法停止向后重定向,
1( 使用 servlet 将标头cache-control
更改为no-cache,no-store
。 但它仅在使用 servlet toredirect 到页面时才有效。
2(然后我使用servlet过滤器来执行相同的任务
doFilter(){
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
httpResponse.setHeader("Pragma", "no-cache");
httpResponse.setDateHeader("Expires", 0);
}
3(使用元标记清除缓存
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="pragma" content="no-cache" />
当我向后重定向到像index
这样的普通页面时,我仍然会在标题中看到登录详细信息(用户名、购物车等(。
最后,我尝试在开发人员工具中禁用缓存,它起作用了。这是不切实际的。
如何停止向后重定向(如在脸书中(?
谢谢。
使用 response.setHeader(( 方法设置这些缓存控件
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "0");