2010-06-12 6 views
1

새 사용자를 등록하려고하고 새로운 사용자 ID를 얻는 방법을 이해하고 있으므로 asp.net 멤버십 사용자 테이블에 매핑 된 userID를 사용하여 내 자신의 사용자 테이블을 만들 수 있습니다. . 일부 연구와 많은 사이트 나 Membership.GetUser()를 사용하는 통보 내가했던ASP.NET MVC 멤버쉽, 새로운 사용자 아이디 얻기

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Register(string userName, string email, string position, string password, string confirmPassword) 
    { 

     ViewData["PasswordLength"] = MembershipService.MinPasswordLength; 
     ViewData["position"] = new SelectList(GetDeveloperPositionList()); 

     if (ValidateRegistration(userName, email, position, password, confirmPassword)) 
     { 
      // Attempt to register the user 
      MembershipCreateStatus createStatus = MembershipService.CreateUser(userName, password, email); 

      if (createStatus == MembershipCreateStatus.Success) 
      { 
       FormsAuth.SignIn(userName, false /* createPersistentCookie */); 

       return RedirectToAction("Index", "Home"); 
      } 
      else 
      { 
       ModelState.AddModelError("_FORM", ErrorCodeToString(createStatus)); 
      } 
     } 

     // If we got this far, something failed, redisplay form 
     return View(); 
    } 

ProviderUserKey; 아래

내 코드입니다. Membership이 NULL 인 경우 오류가 발생합니다.

이 코드 줄을 "return RedirectToAction ("Index ","Home "); if 문 내에서.

사람이이 ProviderKey 검색합니다 사전

답변

0

에 ... 이것에

감사합니다 저를 조언 해 줄 수 있습니다하십시오

if (createStatus == MembershipCreateStatus.Success) 
{ 
    FormsAuth.SignIn(userName, false /* createPersistentCookie */); 

    MembershipUser newUser = Membership.GetUser(model.UserName); 
    string key = newUser.ProviderUserKey.ToString(); 

    return RedirectToAction("Index", "Home"); 
} 
1

이는 MembershipProvider를 사용하여 사용자 만들기를, 이것은 MembershipUser를 반환합니다 예. 어디에서 ProviderKey에 액세스하여 ID에 액세스 할 수 있습니다.

MembershipCreateStatus status; 
MembershipUser user = Membership.Provider.CreateUser(userName, password, email, null, null, true, null, out status); 
if (status == MembershipCreateStatus.Success) 
{ 
    object key = user.ProviderUserKey; 
} 
관련 문제