0
나는이 다음 MVC 응용 프로그램을 가지고

까지 인증되지 않은사용자가 다음 페이지 요청

문제는 임 프로필 값을 할당하려고 할 때입니다 : (model.Email를

  // Attempt to register the user 
      MembershipCreateStatus createStatus = MembershipService.CreateUser(model.Email, model.Password); 

      if (createStatus == MembershipCreateStatus.Success) 
      { 
       //Adding role 
       MembershipService.AddDefaultRole(model.Email); 

       FormsService.SignIn(model.Email, false /* createPersistentCookie */); 

       //Add other initial profile data 
       HttpContext.Profile["FirstName"] = model.FirstName; //PROBLEM 
       HttpContext.Profile["LastName"] = model.LastName; //PROBLEM 

       return RedirectToAction("List", new { area = "", controller = "Requests" }); 
      } 
      else 
      { 
       ModelState.AddModelError("", AccountValidation.ErrorCodeToString(createStatus)); 
      } 

내부 FormsService.SignIn을,)가 false :

public void SignIn(string email, bool createPersistentCookie) 
    { 
     if (String.IsNullOrEmpty(email)) throw new ArgumentException("Value cannot be null or empty.", "email"); 

     FormsAuthentication.SetAuthCookie(email, createPersistentCookie); 
    } 

어떻게 FormsAuthentication.SetAuthCookie를 호출 한 후, 사용자가 아직 인증되지 않은 오지? 오류가 발생합니다. 익명 사용자에게 일부 프로필 값을 할당하려고합니다.

아이디어가 있으십니까?

답변

1

쿠키를 설정하면 응답에 추가되지만 IsAuthenticated bool은 요청에서 설정됩니다. 인증을 설정하고 세션 변수를 설정 한 후에는 홈 페이지 나 원래 요청과 같은 다른 페이지로 리디렉션해야합니다.

+0

그건 의미가 있습니다. 다음 요청 전에 프로필 값을 업데이트하는 쉬운 방법을 알고 있습니까? 또는 값을 임시로 저장하고 다음 페이지 요청에 저장해야합니까? 그것을하는 적절한 방법은 무엇입니까? – Dhana

+0

필요하십니까? 초기화 이벤트에서 사용자가 인증되었지만 프로필 정보가없는 경우로드 할 때가되었다고 생각하지만 기본 제공 프로파일 관리자는 사용한 적이 없으며 내 필요에 맞지 않습니다. –

관련 문제