FormsAuthentication不工作.IsAuthenticated总是返回False

本文关键字:返回 False IsAuthenticated 工作 FormsAuthentication | 更新日期: 2023-09-27 17:50:24

我正在使用ASP.net开发网站,我想实现基于表单的身份验证。在网络上。配置

  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="login.aspx" protection="All" path="/" timeout="30" name=".ASPXFORMSDEMO">
      </forms>
    </authentication>
  </system.web>

在登录按钮中单击I use this。

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的页面加载事件中。我使用这个代码来检查它

  bool isAuthenticated = HttpContext.Current.User != null && HttpContext.Current.User.Identity.IsAuthenticated;

但是上面的代码总是返回false。我哪里做错了?

FormsAuthentication不工作.IsAuthenticated总是返回False

我想你忘了加上:

FormsAuthentication.SetAuthCookie(/*UserHere*/ ,false);