0

当用户登录到我的网站时,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")

这里的cookies保存一个月

在我设置的主网络配置文件中

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

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

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

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

4

1 回答 1

0

我也面临类似的问题。经过几天的研究,我遇到了各种可能导致您面临的问题的原因。以下是您在进一步深入研究之前要检查的要点。
1.在Authentication Block中提到超时和cookies。
<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. 确保会话处于活动状态并且没有在代码中被终止。

于 2013-05-28T17:54:42.270 回答