表单身份验证过期后自动注销asp.net站点

时间:2016-03-14 11:56:30

标签: asp.net asp.net-mvc formsauthentication

我花了好几天试图找到这个问题的答案,所以如果某个地方立即得到答案,我会提前道歉!我看过,找不到任何对我有用的东西。

我希望我的网站在表单身份验证超时到期后自动将用户注销。它目前所做的是使身份验证失效,但用户将保持登录状态,直到他们在链接上发出请求/单击。然后,这将触发重定向,并将它们带回登录页面。

我尝试在一段时间内使用javascript来查看剩余的超时,然后检查它是否过期然后调用logoff()操作,但是这些javascript调用本身就是"请求"因此该网站将永远不会退出。

以下是表单身份验证的web.config设置:

<authentication mode="Forms">
      <forms loginUrl="~/Account/RedirectLogin" name=".ASPXAUTH" timeout="30"/>
    </authentication>

谢谢!

1 个答案:

答案 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)));
}
相关问题