public async Task <IDataResult <AppUser> > Login(AppUserLoginInput loginInput) { var user = await GetAppUserByFilter(t => t.Email == loginInput.Email); if (!user.Success) { return(new ErrorDataResult <AppUser>(Messages.EmailOrPasswordWrong)); } if (user.Data.LockoutEnabled) { return(new ErrorDataResult <AppUser>(Messages.UserLocked)); } var passwordCheck = HashingHelper.VerifyPasswordHash(loginInput.Password, user.Data.PasswordHash, user.Data.PasswordSalt); if (!passwordCheck) { user.Data.AccessFailedCount++; if (user.Data.AccessFailedCount > 5) { user.Data.LockoutEnd = DateTimeOffset.UtcNow.AddMinutes(10); user.Data.AccessFailedCount = 0; await Update(user.Data); return(new ErrorDataResult <AppUser>($"{Messages.TooManyIncorrectLogin}{(user.Data.LockoutEnd - DateTimeOffset.UtcNow).Value.Minutes}")); } await Update(user.Data); return(new ErrorDataResult <AppUser>(Messages.EmailOrPasswordWrong)); } return(new SuccessDataResult <AppUser>(user.Data, Messages.Successfully)); }
public async Task <IActionResult> Login(AppUserLoginInput loginInput) { var result = await _authService.Login(loginInput); if (!result.Success) { return(BadRequest(result.Message)); } return(Ok(result.Data)); }
public async Task <IDataResult <AccessToken> > Login([FromBody] AppUserLoginInput loginInput) { var user = await _appUserManager.Login(loginInput); if (!user.Success) { return(new ErrorDataResult <AccessToken>(user.Message)); } var userToken = _tokenHelper.CreateToken(user.Data); return(new SuccessDataResult <AccessToken>(userToken, Messages.Successfully)); }
public CommonRtn appLogin([FromForm] AppUserLoginInput loginInput) { var exisitUser = (from user in this.sysContext.users where user.phone == loginInput.phone select user).FirstOrDefault(); if (exisitUser != null) { // if (DESEncrypt.DecryptString(exisitUser.loginPassword) == loginInput.loginPassword) // { var loginIp = this.commonService.getRequestIp(); exisitUser.loginNumber++; exisitUser.loginIP = loginIp; exisitUser.mechineId = loginInput.mechineId; var token = this.userService.getUserToken( new AppTokenOutput { user = new User { id = exisitUser.id, phone = exisitUser.phone, companyId = exisitUser.companyId, companyFrameworkId = exisitUser.companyFrameworkId } }); exisitUser.token = token; Console.WriteLine("companyFrameowrkId:" + this.userService.decodeToken(token).user.companyFrameworkId); Console.WriteLine("cpmid" + exisitUser.companyFrameworkId); Console.WriteLine("companyId" + exisitUser.companyId); this.sysContext.SaveChanges(); return(CommonRtn.Success(new Dictionary <string, object>() { { "token", token }, { "user", exisitUser } }, "登录成功")); } else { return(CommonRtn.Error("登录失败,用户不存在")); } }
public object appLogin([FromBody] AppUserLoginInput loginInput) { var exisitUser = (from user in this.sysContext.users where user.phone == loginInput.phone select user).FirstOrDefault(); if (exisitUser != null) { if (DESEncrypt.DecryptString(exisitUser.loginPassword) == loginInput.loginPassword) { var loginIp = this.commonService.getRequestIp(); exisitUser.loginNumber++; exisitUser.loginIP = loginIp; exisitUser.mechineId = loginInput.mechineId; var token = this.userService.getUserToken(new AppTokenOutput { user = exisitUser }); exisitUser.token = token; this.sysContext.SaveChanges(); return(new CommonRtn { success = true, message = "登录成功", resData = new Dictionary <string, object>() { { "token", token } } }); } else { return(CommonRtn.Error("登录失败,用户密码错误")); } } else { return(new CommonRtn { success = false, message = "登录失败,用户不存在", }); } }