Я пытаюсь создать нового пользователя и добавить его к выбранной роли. Я хочу выполнить синхронизацию, но всегда получаю сложность в точке создания части ModelState. Если я сделаю это без ModelState, тогда метод будет стекаться в точке adminresult, где пользователь создан с UserManager. Похоже, что есть проблема с добавлением пользователя в выбранную роль, но я не уверен. Я использую Identity 2. Возможно ли создать синхронизацию пользователя или это полностью асинхронный процесс?MVC 5 создает пользователя с использованием Identity 2 синхронным способом
[HttpPost]
public ActionResult Create(User userViewModel, params string[] selectedRoles)
{
if (ModelState.IsValid)
{
var user = new User()
{
UserName = userViewModel.UserName,
Email = userViewModel.Email,
FirstName = userViewModel.FirstName,
LastName = userViewModel.LastName,
Password = userViewModel.Password
};
var adminresult = UserManager.Create(user, userViewModel.Password); // without using ModelState stack here
var roleStore = new RoleStore<IdentityRole>(context);
var roleManager = new RoleManager<IdentityRole>(roleStore);
var userStore = new UserStore<User>(context);
var userManager = new UserManager<User>(userStore);
var result = userManager.AddToRoles(user.Id, selectedRoles);
if (adminresult.Succeeded)
{
if (selectedRoles != null)
{
if (!result.Succeeded)
{
ModelState.AddModelError("", result.Errors.First());
// gets all names of roles to list
ViewBag.RoleId = new SelectList(RoleManager.Roles.ToList(), "Name", "Name");
return View("_Create");
}
}
return RedirectToAction("UserWizardIndex");
}
return View("_Create");
}
каких сообщения об исключениях, которе вы получаете – Eonasdan
System.NullReferenceException»произошел в App_Web_msvvxqen.dll произошел, когда я пытаюсь создать новый пользователь и добавить его к ролям - может имеет более затем 1 роль, когда я пытаюсь создать пользователя для проекта (используя разные контроллеры и синхронизацию actio n) Я получаю ((System.Data.Entity.Validation.DbEntityValidationException) $ exception). РольEntityValidationErrors для этого пользователя настраивается при создании и имеет onle 1 роль. – Mony