是否可以在超时发生时重定向到登录页面而无需等待用户先单击任何内容?
现在,当超时发生时,用户所在的页面仍然显示,但只要用户点击任何内容,它就会进入登录页面。
谢谢。
最佳答案
您需要在客户端检查 session 是否已过期。最简单的方法是在页面加载后使用 javascript 简单地开始倒计时(只要超时)。当它到期时,将用户发送到登录页面。或者更好:让用户知道 session 已经过期,因为如果你只是把他送到某个地方,他可能不会太高兴。虽然我的网上银行软件正是这样做的,但当然是出于安全原因。
这是一个非常简单的例子:http://jsfiddle.net/39Sj6/1/
function sessionHasExpired(){
if(confirm("Your session has expired. Do you want to go to the login page")){
window.location = "http://google.com/?q=login";
}
}
var sessionTimeInMilliseconds = 1000*60*5; // here: 5 minutes
setTimeout(sessionHasExpired, sessionTimeInMilliseconds );
(在 jsfiddle 中,您不会被重定向到 google,因为 jsfiddle 禁止这样做,但原则上它会起作用)
关于ASP.Net 表单例份验证 - 超时时转到登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9536458/