public async Task <IActionResult> Register([FromBody] UserIM userData) { var user = await _userManager.FindByNameAsync(userData.Email); if (user != null) { return(BadRequest("user already registered")); } var hasher = new PasswordHasher <IdentityUser>(); var newUser = new IdentityUser { UserName = userData.Email, Email = userData.Email, EmailConfirmed = true, PasswordHash = hasher.HashPassword(null, userData.Password) }; var result = await _userManager.CreateAsync(newUser); if (result.Succeeded) { return(CreatedAtAction("GetAccount", new { id = newUser.Id }, newUser)); } else { return(BadRequest(result.Errors)); } }
public JsonResult Create(UserIM model) { if (!ModelState.IsValid) { var errorMes = GetModelErrorMessage(); AR.Setfailure(errorMes); return(Json(AR)); } var result = _userServices.CreateUser(model.UserName, model.Email, model.Password, model.DisplayName); if (result == 1) { AR.Setfailure(Messages.CannotRegisterEmail); return(Json(AR)); } if (result == 2) { AR.Setfailure(Messages.CannotRegisterUserName); return(Json(AR)); } //int count; //int pageSize = SettingsManager.User.PageSize; //var list = _userServices.GetPagedElements(0, pageSize, string.Empty, null, null, null, out count); //List<UserVM> userList = _mapper.Map<List<User>, List<UserVM>>(list); //AR.Data = RenderPartialViewToString("_UserList", list); AR.Id = "0"; AR.SetSuccess(string.Format(Messages.AlertCreateSuccess, EntityNames.User)); return(Json(AR)); }
public async Task <IActionResult> Login([FromBody] UserIM userData) { var result = await _signInManager.PasswordSignInAsync(userData.Email, userData.Password, false, false); if (result.Succeeded) { var user = await _userManager.FindByNameAsync(userData.Email); AuthorizationToken token = GenerateJSONWebToken(user); return(Ok(token)); } return(Unauthorized()); }
public async Task <IActionResult> Login([FromBody] UserIM userData) { var userName = await _userManager.Users.Where(u => u.Email == userData.Email).FirstOrDefaultAsync(); var result = await _signInManager.PasswordSignInAsync(userName.UserName, userData.Password, false, false); if (result.Succeeded) { var user = await _userManager.FindByEmailAsync(userData.Email); AuthorizationToken token = GenerateJSONWebToken(user); return(Ok(token)); } return(Unauthorized()); }
public async Task <IActionResult> ForgotPassword([FromBody] UserIM userData) { var user = await _userManager.Users.Where(u => u.Email == userData.Email).FirstOrDefaultAsync(); var code = await _userManager.GeneratePasswordResetTokenAsync(user); string origin = Request.Headers["origin"]; var link = $"{origin}/password/reset?token={code}"; await _emailSender.SendEmailAsync( userData.Email, "Zapomenuté heslo na Glidingcontest.eu", $"Dobrý den {user.FullName}, \nodkaz na obnovení hesla: {link} \n\n Glidingcontest.eu."); return(Ok()); }
public async Task <IActionResult> PutUser([FromRoute] Guid id, [FromBody] UserIM user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != user.Id) { return(BadRequest()); } if (_context.Users.Where(d => d.Email == user.Email && d.Id != id).Any()) { return(BadRequest("此邮箱已被注册!")); } var model = await _context.Users.FirstOrDefaultAsync(d => d.Id == id); model = _mapper.Map(user, model); if (model.Birthday == DateTime.MinValue) { model.Birthday = null; } _context.Entry(model).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!UserExists(id)) { return(NotFound()); } else { throw; } } return(Ok("用户资料已成功修改")); }
public async Task <IActionResult> UpdateProfile([FromRoute] Guid id, [FromBody] UserIM user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != user.Id) { return(BadRequest("资料修改失败")); } var strUserId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.Sid).Value; var userId = new Guid(strUserId); if (userId != user.Id) { return(BadRequest("不是当前用户")); } if (_context.Users.Where(d => d.Email == user.Email && d.Id != id).Any()) { return(BadRequest("此邮箱已被注册!")); } var model = await _context.Users.FirstOrDefaultAsync(d => d.Id == id); model = _mapper.Map(user, model); if (model.Birthday == DateTime.MinValue) { model.Birthday = null; } _context.Entry(model).State = EntityState.Modified; await _context.SaveChangesAsync(); return(Ok("资料已成功修改")); }
// GET: User/Create public ActionResult Create() { UserIM vm = new UserIM(); return(PartialView("_UserCreate", vm)); }