0

ASPNET ID의 UserManager에는 AddPasswordAsyncSetPhoneNumberAsync과 같은 기능이 포함되어 있습니다.새 사용자 데이터를 관리 할 수 ​​있도록 UserManager를 확장 하시겠습니까?

사용자를 등록 할 때 값이 설정되지 않은 FirstName 및 LastName 속성을 추가 했으므로이 값을 관리 (설정 및 변경)하기 위해 화면을 추가하고 싶습니다.

UserManager를 연장하여 AddNamesAsync과 같은 기능을 추가하려면 어떻게해야합니까? 다음과 같이

같은 논리 함께
[HttpPost] 
[ValidateAntiForgeryToken] 
public async Task<ActionResult> SetPassword(SetPasswordViewModel model) 
{ 
    if (ModelState.IsValid) 
    { 
     var result = await UserManager.AddPasswordAsync(User.Identity.GetUserId(), model.NewPassword); 
     if (result.Succeeded) 
     { 
      var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); 
      if (user != null) 
      { 
       await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); 
      } 
      return RedirectToAction("Index", new { Message = ManageMessageId.SetPasswordSuccess }); 
     } 
     AddErrors(result); 
    } 

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

, 나는 컨트롤러에 기능을 추가하고 싶습니다 : 우리가 아래 ManageController 작업을 평가할 때

이러한 기능이 필요하게

[HttpPost] 
[ValidateAntiForgeryToken] 
public async Task<ActionResult> SetNames(SetUserFullNamesViewModel model) 
{ 
    if (ModelState.IsValid) 
    { 
     var result = await UserManager.AddNamesAsync(User.Identity.GetUserId(), model.FirstName, model.LastName); 
     if (result.Succeeded) 
     { 
      var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); 

      return RedirectToAction("Index", new { Message = ManageMessageId.SetNamesSuccess }); 
     } 
     AddErrors(result); 
    } 

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

UserManager에 함수를 추가하거나 UserManager를 확장하여 사용자가 사용자 정의 속성 값을 업데이트하고 업데이트 할 수있는 함수를 추가 할 수 있습니까?

+0

UserManager처럼 custom columnscustom columns

클래스 AppliicationUser에 다음 업데이트 할 수있는 추가는 상속 될 것을 의미한다. 클래스를 만들고 UserManager를 상속 받아 필요한 모든 기능을 추가하십시오. – trailmax

답변

1

먼저이

[HttpPost] 
public async Task<ActionResult> SetNames(SetUserFullNamesViewModel model) 
{ 
    ApplicationUser usermodel = UserManager.FindById(user.Id); 
    usermodel.Name = model.Name; 
    usermodel.Surname = model.Surname; 


    IdentityResult result = await UserManager.UpdateAsync(usermodel); 
    if (result.Succeeded) 
    { 
     return RedirectToAction("ListUser", "User"); 
    } 

    return View(); 
} 
+0

.net 프레임 워크에는 존재하지 않는 많은 메소드가 있지만 연습을하는 것이 좋습니다. 고맙습니다 –