2014-03-26 2 views
0

사용자가 내 데이터베이스에 저장되어 있고 저장소에서 사용자를 검색하기 위해 Entity Framework 6을 사용하고 있습니다. 내가 세션 변수 또는 User.Identity 사용 등Asp.NET MVC 5의 사용자 ID에 사용자 지정 사용자 저장 방법

같은 사용자 ID, 이메일 등의 사용자 정보에 기록을 저장하는 가장 좋은 방법은 무엇입니까 MVC (5)를 사용하고?

[HttpPost] 
[AllowAnonymous] 
[ValidateAntiForgeryToken] 
public ActionResult Login(LoginViewModel model) 
{ 
    if (ModelState.IsValid) 
    { 

     var user = _uow.UserRepository.FindLogin(model.Email, model.Password); 
     if (user != null) 
     { 
      _uow.UserRepository.UpdateLastLoginDate(user);      
      _uow.SaveChanges(); 

      return RedirectToAction("Index", "Administrator"); 

     } 
     else 
     { 
      ModelState.AddModelError("", "Invalid Email Address or Password."); 
     } 
    } 

    return View(model); 
} 
+0

회피 세션 .. –

답변

1

이 정보는 세션에 저장하지 마십시오. 먼저 여기에 설명 된대로 AuthenticationManager.SignIn 메서드를 사용해야합니다 (http://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity). 그럼 당신은이 같은 정체성 오브젝트에서 사용자 ID를 추출 .GetUserId() 확장 방법을 사용할 수 있습니다 :

User.Identity.GetUserId() 

그런 다음 UserManager에서 사용자 정보를 요청하기 위해이 ID를 사용할 수 있습니다. UserName 만 필요한 경우 GetUserName 확장 메서드를 사용하여 Identity 개체에서 직접 추출 할 수 있습니다.

관련 문제