需要在浏览器后退按钮上清除会话(重定向到登录或错误页面),如果用户再次在浏览器中粘贴相同的URL以访问网页或单击浏览器转发按钮,因为会话已过期/放弃所以重定向到登录或错误页面。不应在任何时间从浏览器缓存中显示相同或任何应用程序网页。
技术堆栈:
Java Script / C#
IE7 / 8/9/10
答案 0 :(得分:3)
不幸的是,大多数现代浏览器会在用户单击后退按钮后从缓存重新加载页面。没有请求发送到服务器。
您可以尝试通过html head section中的addind元信息禁用缓存:
<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="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
但请记住,它的浏览器决定从缓存中重新加载哪些内容以及再次请求内容请求。
答案 1 :(得分:0)
我认为禁用缓存不是一个好主意。对您来说唯一重要的是用户在点击导航按钮时必须登录并重新开始。您需要有一个注销页面,可以执行注销和清除会话所需的任何操作,然后在用户导航时重定向到该页面。
$(window).bind('beforeunload', function (event) {
//if(some condition that detects user hasn't clicked a link on your page)
location.href = "/signout.aspx";
}