在不确定的时间后自动退出用户

时间:2013-04-12 06:05:22

标签: authentication

当用户登录我的网站时,Cookie会在一个月后过期,但仍会在10 - 20分钟后退出,不确定我会提供我用于登录的代码,用于cookie和webconfig身份验证

这是代码

登录时的代码

       Dim cookie As HttpCookie = FormsAuthentication.GetAuthCookie(usernameforcookie, _
                           keepme.Checked)
                ' Expires in 30 days, 12 hours and 30 minutes from today.
                cookie.Expires = DateTime.Now.Add(New TimeSpan(30, 0, 0, 0))
                Response.Cookies.Add(cookie)
                Response.Redirect("Home.aspx")

此处将cookie保存一个月

并在我设置的主网页配置文件中

       <authentication mode="Forms">
       <forms  loginUrl="Login.aspx" />
        </authentication>
         <authorization>
        <deny users="?"/>
         </authorization>
        <customErrors mode="Off"/>

另外我在论坛文件夹中有很多webconfig,因为这里论坛可以被任何人查看,所以我通过提供身份验证来验证用户,下面是论坛的web配置中的代码

      <authorization>
  <allow users ="*"/>
  <deny users="?"/>
</authorization>

现在的问题是...... 用户在不确定时间后有时会在10分钟后有时会在30分钟后自动注销,但在开发服务器上工作正常

1 个答案:

答案 0 :(得分:0)

我也面临类似的问题。经过几天的研究,我遇到了各种可能导致您面临的问题的原因。以下是您在深入挖掘之前要检查的要点。
1.在认证块中识别超时和cookie <authentication mode="Forms"> <forms loginUrl="Login.aspx" timeout="43260" cookieless="UseCookies" /> </authentication>
这将确保表格有效30天
2.会话价值。

确保会话超时和其他值与表单类似 <sessionState cookieless="UseCookies" timeout="21630" />(This will also update your session value on IIS)

3.检查应用程序池回收间隔。当应用程序池被回收时,它会终止所有会话并形成身份验证。

4.确保会话处于活动状态且未在代码中被杀死。