public async Task<IActionResult> Login(LoginModel model) { var vm = new LoginViewModel(); vm.Model = model; if (!ModelState.IsValid) { vm.ErrorMessage = Messages.ModelStateNotValid; return this.View(vm); } var result = await this.AuthService.Login(model); if (result.Success) { Core.Security.SecurityManager.WriteToken(this.HttpContext, result.Data, model.RememberPassword); return this.RedirectToAction("Index", "Home"); } else { vm.ErrorMessage = result.ErrorMessage; return this.View(vm); } }
public async Task<Result<string>> Login(LoginModel model) { string password = EncryptHelper.EncryptMD5(model.Password); using (var uw = this.CreateUnitOfWork()) { var user = await uw.GetAsync<User>(t => t.UserName == model.UserName && t.Password == password); if (user == null) { return Result<string>.ErrorResult("用户名或密码不匹配"); } if (user.Status == Domain.Enums.UserStatus.Verifying) { return Result<string>.ErrorResult("您还未通过管理员审核, 请耐心等待"); } if (user.Status == Domain.Enums.UserStatus.Deny) { return Result<string>.ErrorResult("您已经被禁止登录"); } string token = this.GenerateAndStoreToken(user.ID, model.RememberPassword); return Result.SuccessResult(token); } }