我正在使用会员提供商,但如何获取用户名和密码才能登录/注册?当我检查以查看此代码时:
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)导致问题,我需要避免它。
答案 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>