我在我的网站中使用基于表单的身份验证在我的登录页面中,我有:
FormsAuthentication.SetAuthCookie(user.userName, true)
当我想检查用户是否经过身份验证时,我会:
HttpContext.Current.User.Identity.IsAuthenticated
我没有使用 Asp.net Membership,而是使用我的 SQL-DB 验证 我必须使用 Asp.net Membership 吗?
大多数情况下这对我有用问题是有时在 5 小时或 30 小时后应用程序池由于某种原因重新启动(我在共享服务器上)然后“User.Identity.IsAuthenticated”每次都返回 false,直到用户再次登录。
这对我来说很奇怪,因为我可以看到客户端仍然具有持久性 authCookie ,那么为什么用户没有经过身份验证?
我的 Web.Config 参考:
<authentication mode="Forms">
<forms
name="AuthCookie"
loginUrl="~/mySite/ManageLogin.aspx"
timeout="5256000"/>
</authentication>
任何帮助将不胜感激。
我的网站 www.mentallica.co.il