嗨,我使用自定义 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);
}
我错过了什么吗?
最佳答案
HttpContext.Current.User.Identity.Name
的值通过调用 RedirectFromLoginPage
设置.您可以从 HttpContext.Current.User.Identity.Name
获取当前用户 ID一旦您被重定向到新页面。我不确定为什么您需要在这种情况下通过 User 属性访问用户名,您不能只使用 tbUsername.Text 中包含的值吗?
关于asp.net - HttpContext.Current.User.Identity.Name 总是 string.Empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1056487/