public async Task <ApiResultDataUrl <ApiResultTokenData> > Login(AccountPasswordValidationCodeLoginInput input) { var result = new ApiResultDataUrl <ApiResultTokenData>(); var validationCode = HttpContext.Session.GetString(ValidationCodeKey); if (validationCode == null) { result.Code = 400; result.Message = "验证码已到期,请重新输入"; return(result); } if (String.Compare(validationCode, input.ValidationCode, StringComparison.OrdinalIgnoreCase) != 0) { result.Code = 400; result.Message = "请输入正确的验证码"; return(result); } HttpContext.Session.Remove(ValidationCodeKey); var userInfo = await _userService.GetNormalUserAsync(input.Account, input.Password); if (userInfo == null) { result.Code = 400; result.Message = "账号或密码错误,或用户状态不允许登录"; return(result); } await _userActionLogService.SaveAsync(new UserActionLogInput { UserId = userInfo.UserId, ActionTypeId = 1, ClientTypeId = input.ClientTypeId, ClientAgent = input.ClientAgent, Remark = "后台登录" }, ModelState); result.Data = await _tokenService.GenerateApiResultTokenData(userInfo); result.Url = _frontendSettings.CoreEnvironment.IsDevelopment ? _frontendSettings.CoreEnvironment.DevelopmentHost + "/modules/index.html" : Url.Action("Index", "View"); result.Code = 200; result.Message = "登录成功"; return(result); }
public async Task <ActionResult <ApiTokenUrlResult> > Login([FromBody] AccountPasswordValidationCodeLoginInput input) { var result = new ApiTokenUrlResult(); var validationCode = HttpContext.Session.GetString(ValidationCodeKey); if (validationCode == null) { result.Code = 400; result.Message = "验证码已到期,请重新输入"; return(result); } if (String.Compare(validationCode, input.ValidationCode, StringComparison.OrdinalIgnoreCase) != 0) { result.Code = 400; result.Message = "请输入正确的验证码"; return(result); } HttpContext.Session.Remove(ValidationCodeKey); var user = await _userService.GetNormalUserAsync(input.Account, input.Password); if (user == null) { result.Code = 400; result.Message = "账号或密码错误,或用户状态不允许登录"; return(result); } var token = _tokenService.GenerateAccessToken(user); var refreshToken = await _tokenService.GenerateRefreshToken(user.UserId); result.Token = token; result.RefreshToken = refreshToken; result.Url = _frontendSettings.CoreEnvironment.IsDevelopment ? _frontendSettings.CoreEnvironment.DevelopmentHost + "/modules/index.html" : Url.Action("Index", "View"); result.Code = 200; result.Message = "登录成功"; return(result); }