示例#1
0
 //[ValidateAntiForgeryToken]
 public async Task<IActionResult> Register(Register model)
 {
     string ErrorsStr = "";
     // Проверка на валидацию модели
     if (ModelState.IsValid)
     {
         var user = new ApplicationUser
         {
             UserName = model.Email,
             Email = model.Email,
             Token = model.Token
         };
         var result = await _securityManager.CreateAsync(user, model.Password);
         if (result.Succeeded)
         {
             await _loginManager.SignInAsync(user, isPersistent: false);
             return Json(new { isOk = true});
         }
         else
         {
             foreach (var e in result.Errors) ErrorsStr = ErrorsStr + e.Description + ";"; 
             return Json(new { isOk = false, Errors = ErrorsStr });
         }
     }
     // Получаем текстовое представление списка ошибок валидации, чтобы отправить на клиент
     foreach (var modelState in ModelState.Values)
     {
         foreach (var error in modelState.Errors)
         {
             ErrorsStr = ErrorsStr + error.ErrorMessage + ";";
         }
     }
     return Json(new {isOk=false,Errors=ErrorsStr});
 }
 public async void InitializeData()
 {
     ApplicationUser foundUser;
     // Поиск пользователя по email
     try { 
     foundUser = _userManager.FindByEmailAsync("*****@*****.**").Result;
     }
     catch 
     {
         return;
     }
     // если пользователь не найден, создаем нового
     if (foundUser == null)
     {
        
         var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**" };
         await _userManager.CreateAsync(user);
         // здесь не правильно передается пароль, нужно похоже передавать хэш пароля
         await _userManager.AddPasswordAsync(user, "123");
         foundUser = user;
     }
 }