public async Task <LoginViewModel> Login([FromBody] LoginParam param) { string md5pwd = SafeHelper.MD5TwoEncrypt(param.PassWord); T_UserInfo userInfo = await _userService.FindAsync(u => u.UserName == param.UserName && u.PassWord == md5pwd); if (userInfo == null) { throw new UserFriendlyException("用户名或密码错误"); } JwtModel jwtModel = new JwtModel { IsAdmin = userInfo.IsAdmin, UserId = userInfo.Id, NickName = userInfo.NickName, UserName = userInfo.UserName, Expiration = TimeSpan.FromSeconds(60 * 60), Role = userInfo.IsAdmin ? string.Join(",", ConstInfo.ClientPolicy, ConstInfo.AdminPolicy) : ConstInfo.ClientPolicy }; var result = JwtHelper.BuildJwtToken(jwtModel); result.NickName = userInfo.NickName; result.AvatarUrl = userInfo.AvatarUrl; result.UseMdEdit = userInfo.UseMdEdit; return(result); }
public async Task <ActionResult> Register(RegisterModel model) { if (ModelState.IsValid) { if (await _service.FindAsync(s => s.PhoneNumber.ToLower() == model.PhoneNumber.ToLower()) != null) { ModelState.AddModelError("PhoneNumber", "Такой пользователь уже существует в системе. Пожалуйста, введите другой номер телефона!"); } else if (await _service.FindAsync(s => s.Email.ToLower() == model.Email.ToLower()) != null) { ModelState.AddModelError("Email", "Такой пользователь уже существует в системе. Пожалуйста, введите другой эл. адрес почты!"); } else if (await _service.FindAsync(s => s.UserName.ToLower() == model.UserName.ToLower()) != null) { ModelState.AddModelError("UserName", "Такой пользователь уже существует в системе. Пожалуйста, введите другой логин!"); } else { var sysAdminRole = RoleManager.Roles.FirstOrDefault(s => s.Name == "SysAdmin"); model.DateRegistration = DateTime.Now; model.RoleId = sysAdminRole.Id; var user = Mapper.Map <RegisterModel, UserInfo>(model); user.RoleInfo = sysAdminRole; user.EmailConfirmed = true; user.PhoneNumberConfirmed = true; var result = await UserManager.CreateAsync(user, model.Password); var role = await RoleManager.FindByIdAsync(user.RoleInfoId); await UserManager.AddToRoleAsync(user.Id, role.Name); if (!await UserManager.IsInRoleAsync(user.Id, role.Name)) { await UserManager.AddToRoleAsync(user.Id, role.Name); } if (result.Succeeded) { return(RedirectToAction("Login", "Account")); } else { foreach (string error in result.Errors) { ModelState.AddModelError(string.Empty, error); } } } } return(View(model)); }
public async Task <ActionResult <UserInfo> > Get(int id) { UserInfo viewModel = await _userInfoService.FindAsync(m => m.ID == id); return(Ok(viewModel)); }