当用户登录我的网站时,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分钟后自动注销,但在开发服务器上工作正常
答案 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.确保会话处于活动状态且未在代码中被杀死。