我正在使用ASP.net开发网站,我想实现formbased身份验证。 在web.config中我使用这个
<system.web>
<authentication mode="Forms" >
<forms loginUrl="login.aspx" protection="All" path="/" timeout="30" name=".ASPXFORMSDEMO">
</forms>
</authentication>
</system.web>
在登录按钮中单击我使用此功能。
FormsAuthenticationTicket ticket;
string cookieString;
HttpCookie cookie;
ticket = new FormsAuthenticationTicket(1, txtiLoginEmail.Value, DateTime.Now, DateTime.Now.AddMinutes(5), chbRememberMe.Checked, null);
cookieString = FormsAuthentication.Encrypt(ticket);
cookie = new HttpCookie(FormsAuthentication.FormsCookieName, cookieString);
if (chbRememberMe.Checked)
{
cookie.Expires = ticket.Expiration;
cookie.Path = FormsAuthentication.FormsCookiePath;
}
Response.Cookies.Add(cookie);
string strRedirect = "post.aspx";
Response.Redirect(strRedirect);
我有一个名为post.aspx的页面。我希望此页面仅适用于经过身份验证的用户。所以在post.aspx页面的页面加载事件中,我使用此代码进行检查
bool isAuthenticated = HttpContext.Current.User != null && HttpContext.Current.User.Identity.IsAuthenticated;
但是上面的代码总是返回false。我在这里做错了什么?
答案 0 :(得分:0)
我想你忘了把:
FormsAuthentication.SetAuthCookie(/*UserHere*/ ,false);