使用asp.net表单身份验证关闭选项卡时自动注销用户

时间:2015-05-15 14:36:42

标签: javascript c# asp.net forms

我有一个使用表单身份验证的简单Web表单。要实现身份验证,我在web.config

中有这个
<system.web>
    <authentication mode="Forms">
        <forms loginUrl="Logon.aspx" name=".ASPXFORMSAUTH"></forms>
    </authentication>
    <authorization>
        <deny users="?"/>
    </authorization> 
  </system.web> 

并且在logon.aspx的代码隐藏中,如果他们的凭据有效,我会使用它来让它们进入表单:

FormsAuthentication.RedirectFromLoginPage(FormID, false);

FormID只是在新表单的登录页面上生成的标识符,或者由用户输入以继续现有表单的标识符。当他们完成表单或单击按钮以启动新表单时,我使用它将它们发送回登录页面:

FormsAuthentication.SignOut();

我担心的问题是用户可能会忘记他们当前正在处理的FormID,并填写错误ID的信息(它显示在表单上,​​但是他们可能会忽略它)。因此,我想在刷新页面,关闭选项卡或关闭浏览器时自动将其签出(因此强制他们明确输入ID以继续表单)。使用当前代码,它会在关闭浏览器时将其签名,但不会在关闭选项卡或刷新页面时签名。

我有办法检测标签关闭或刷新并签名吗?无论是代码背后还是javascript?

0 个答案:

没有答案