public async Task <ApiResult> Login(UserSiginInput input)
        {
            if (string.IsNullOrWhiteSpace(input.VerifyCode) || !input.VerifyCode.Equals(CurrentVerifyCode, System.StringComparison.InvariantCultureIgnoreCase))
            {
                return(ApiResult.GetRequestError("无效的验证码"));
            }
            var user = await passportService.SiginAsync(input);

            WebHelper.WriteSession(SessionUser, user);
            return(ApiResult.Success);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="userSiginInput"></param>
        /// <returns></returns>
        public async Task <AccountResource> SiginAsync(UserSiginInput userSiginInput)
        {
            var user = await _accountRepository.FirstOrDefaultAsync(p => p.UserName.Equals(userSiginInput.UserName.Trim()));

            if (user == null)
            {
                throw new FriendlyException("用户名或密码错误!", 404);
            }
            var verifyPwd = _passwordHadler.VerifyHashedPassword(user.Password, user.Salt, userSiginInput.PassWord);

            if (!verifyPwd)
            {
                throw new FriendlyException("用户名或密码错误!", 404);
            }
            return(MapTo <AccountResource>(user));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Index(UserSiginInput model)
        {
            if (ModelState.IsValid)
            {
                var user = await _passPortService.SiginAsync(model);

                HttpContext.Session.SetString("CurrentUserId", user.Id.ToString());
                //HttpContext.Session.Set("CurrentUser", ByteConvertHelper.ObjectToBytes(user));
                return(RedirectToAction("Index", "Home"));
            }
            foreach (var item in ModelState.Values)
            {
                if (item.Errors.Count > 0)
                {
                    ViewBag.ErrorInfo = item.Errors[0].ErrorMessage;
                    break;
                }
            }
            return(View(model));
        }