0

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

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

我尝试过使用 javascript 来查看剩余的超时时间,然后检查它是否已过期,然后调用 logoff() 操作,但是这些 javascript 调用本身就是“请求”,因此该站点将永远不会注销。

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

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

谢谢!

4

1 回答 1

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)));
}
于 2016-03-14T12:41:36.690 回答