我在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