我在MVC 3(剃须刀)应用程序中使用.net成员资格。ASP.NET MVC 3和HttpContext.Current.User.Identity.Name
我实现了,我用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值(用户ID),而不是用户名?
这是正常的吗?
Membership.GetUser()为空,即使HttpContext.Current.User .Identity.IsAuthenticated是真的。 当然,在运行配置文件类之前,在另一个类中执行会员验证 'Membership.ValidateUser(email,password)' 我不知道什么是错的。我错过了什么吗? – Francesco 2012-04-24 13:59:14