【发布时间】:2010-11-06 14:08:12
【问题描述】:
您好,我使用自定义 MembershipProvider。
我想知道应用场景中的当前用户名,但是当我尝试访问 HttpContext.Current.User.Identity.Name 时,它总是返回 string.Empty。
if (Membership.ValidateUser(tbUsername.Text, tbPassword.Text))
{
FormsAuthentication.SetAuthCookie(tbUsername.Text, true);
bool x = User.Identity.IsAuthenticated; //true
string y = User.Identity.Name; //""
FormsAuthentication.RedirectFromLoginPage(tbUsername.Text, cbRememberMe.Checked);
}
我错过了什么吗?
【问题讨论】:
-
该代码看起来很简单。您确定用户已通过身份验证?有什么有趣的事情可以动态更改提供者或类似的吗?
-
没什么好笑的 bizniz,用户已通过身份验证
-
您是否使用 FormsAuthentication.SetAuthCookie 在身份验证 cookie 中设置了用户名?
-
你是如何发送你的cookie的?你用什么方法调用上面的代码?
-
我已经编辑了我的答案,现在检查....
标签: asp.net httpcontext custom-membershipprovider iidentity