我在 MVC 3 (razor) 应用程序中使用 .net 成员资格。
我已经实现了一个自定义配置文件类,我在其中使用 HttpContext.Current.User.Identity.Name 来获取会员用户。
public class UserProfile : ProfileBase
{
static public UserProfile CurrentUser
{
get {
return (UserProfile)(ProfileBase.Create(Membership.GetUser(new Guid(HttpContext.Current.User.Identity.Name)).UserName));
}
}
public string FirstName
{
get { return ((string)(base["FirstName"])); }
set { base["FirstName"] = value; Save(); }
}
public string LastName
{
get { return ((string)(base["LastName"])); }
set { base["LastName"] = value; Save(); }
}
}
正如您在上面的课程中看到的那样,我必须将 HttpContext.Current.User.Identity.Name 转换为 GUID 才能获得会员用户。
问题是,为什么在登录验证之后,在 HttpContext.Current.User.Identity.Name 我得到的是 GUID 值(userID)而不是用户名?
这正常吗?