我花了好几天试图找到这个问题的答案,所以如果某个地方立即得到答案,我会提前道歉!我看过,找不到任何对我有用的东西。
我希望我的网站在表单身份验证超时到期后自动将用户注销。它目前所做的是使身份验证失效,但用户将保持登录状态,直到他们在链接上发出请求/单击。然后,这将触发重定向,并将它们带回登录页面。
我尝试在一段时间内使用javascript来查看剩余的超时,然后检查它是否过期然后调用logoff()操作,但是这些javascript调用本身就是"请求"因此该网站将永远不会退出。
以下是表单身份验证的web.config设置:
<authentication mode="Forms">
<forms loginUrl="~/Account/RedirectLogin" name=".ASPXAUTH" timeout="30"/>
</authentication>
谢谢!
答案 0 :(得分:0)
在您的母版页中,您可以定义一个特殊的标题标记,该标记将在会话过期后重定向用户:
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
this.PageHead.Controls.Add(new LiteralControl(
String.Format("<meta http-equiv='refresh' content='{0};url=/Login.aspx'>",
Session.Timeout * 60 + 1)));
}