User.Identity.IsAuthentication总是假的

本文关键字:Identity IsAuthentication User | 更新日期: 2023-09-27 18:30:18

我正在使用会员资格提供程序,但我如何获取我的用户名和密码来登录/登录? 当我检查查看此代码时:

if (User.Identity.IsAuthenticated)
// this code always returns false

我之前有这个用户使用 asp:登录登录:

if (Membership.ValidateUser(email, password))
{
    // this is true but what am I missing here to make above not be false?

所谓的重复问题/答案使用SetAuthCookie,根据这个(System.Web.HttpContext.Current.User.Identity.IsAuthentication有时会失败)会导致问题,我需要避免它。

User.Identity.IsAuthentication总是假的

使用如下所示的代码使其正常工作。该方法RedirectFromLoginPage将创建身份验证cookie,并将用户重定向到原始页面或Web配置中定义的默认URL(即主页)。

if (Membership.ValidateUser(email, password))
 {
    // Log the user into the site
    FormsAuthentication.RedirectFromLoginPage(email, false);
 }

此外,请确保在 Web 配置中启用了表单身份验证。至少set mode="Forms"(如果不是身份验证下的其他设置)。

<authentication mode="Forms">
  <forms loginUrl="member_login.aspx"
    defaultUrl="index.aspx" />
</authentication>