2010-06-03 4 views
0

.NET mvc2에서 응용 프로그램을 개발 중입니다. 사용자 등록 및 관련 활동을 위해 aspnetMembershipProvider를 사용하고 있습니다. 내가 별도의 테이블 (예 : sysUser)에 저장하고 외래 키를 통해 aspnetUser 테이블에 링크 된 사용자에 대한 사용자 정의 정보가 필요합니다.aspNetMembershipProvider를 사용하여 세션에 사용자 정보 저장

로그인 한 후 sysUser 테이블에서 사용자의 자격 증명을 가져 와서 세션에 밀어 넣어야합니다. 이 계정 컨트롤러의 로그온 방법은 나에게 가장 좋은 듯 나는

if (!ValidateLogOn(userName, password)) 
     { 
      return View(); 
     } 

     FormsAuth.SignIn(userName, rememberMe); 
     ApplicationRepository _ApplicationRepository = new ApplicationRepository(); 
     MembershipUser aspUser = Membership.GetUser(userName); 
     SessionUser CurrentUser = _ApplicationRepository.GetUserCredentials(aspUser.ProviderUserKey.ToString()); 

     //Session["CurrentUser"] = CurrentUser; 

     if (!String.IsNullOrEmpty(returnUrl)) 
     { 
      return Redirect(returnUrl); 
     } 
     else 
     { 
      return RedirectToAction("Index", "Home"); 
     } 

코드는 나를 위해 완벽하게 작동하고 세션에 내 원하는 정보를 넣어하지만 일이 있습니다 내 로그온 ActionResult에 다음 코드를 붙여 들어있는 사용자가 선택하는 경우 나를 기억하고 그의 다음 방문시 그는 로그인 할 필요가 없으며 세션에서 원하는 정보를 찾지 못할 것입니다. 세션에 사용자 정보를 저장하는 코드는 어디에 두어야합니까? 우리가 로그인했습니다 (사용자 이름, SaveLogin) 함수를 호출 할 때

답변

0
FormsAuthentication.SetAuthCookie(userName, saveLogin); 

MSDN 문서는 SetAuthCookie 방법

+0

감사를 들면, 아마 내가 자동으로 호출되어, FormsAuthentication.SetAuthCookie (userNmae, SaveLogin) 자신을 설명 할 수있다. 이것은 httpContext.Current.User .__를 통해 사용할 수있는 쿠키에 userName 정보를 저장합니다. 내가 원하는 것은 사용자 정의 정보 즉 회사 번호와 직원 ID를 쿠키에 저장하여 httpContext.Current.User.EmployeeID를 사용하여 액세스 할 수 있도록하는 것입니다. 그것은 가능하고 어떤 수업이 내가 구현해야합니다 감사합니다 Adeel –

관련 문제