User.Identity.IsAuthenticated总是假的

时间:2016-01-13 23:44:48

标签: c# asp.net webforms asp.net-membership forms-authentication

我正在使用会员提供商,但如何获取用户名和密码才能登录/注册?当我检查以查看此代码时:

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.IsAuthenticated fails sometimes)导致问题,我需要避免它。

1 个答案:

答案 0 :(得分:0)

使用以下代码使其正常工作。方法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>