2
SimpleMembershipProvider를 사용하는 MVC4의 UserProfile에서 사용자 지정 속성을 가져 오려고합니다.User.Identity.Name은 MVC4에서 언제 설정됩니까
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
//Added to round out requirements for site user profile
public string FirstName { get; set; }
public string LastName { get; set; }
public string Site { get; set; }
}
을 내가 FIRSTNAME에 관심 오전 사용자 프로필 항목을받을 때, 세션 변수에 로그인
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
var context = new UsersContext();
var curuser = context.UserProfiles.First(p => p.UserName == User.Identity.Name);
Session["FName"] = curuser.FirstName;
return RedirectToLocal(returnUrl);
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}
에 나는 오류가 발생 : 시퀀스에 요소가없는 다음과 같이 내 테이블입니다 내 var curuser 라인을 참조하십시오. User.Identity.Name을 model.Username으로 대체하면 제대로 작동합니다. User.Identity.Name을 사용하고 싶습니다. 필요할 때마다 사용할 수 있기 때문에 생각했습니다.
감사를하는 데 도움이됩니다. 그래서 분명히 이것을 이해하고 있다면 다음 페이지를 요청할 때까지는 사용할 수 없습니다. 나는 일하는 것을 계속 사용해야 할 것입니다. – Xaxum