コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: AdminLoginController.cs プロジェクト: winlee/Tubumu
        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);
        }