Ejemplo n.º 1
0
        public async Task <IActionResult> Home(HomeModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var sessionImageCode = HttpContext.Session.GetString(ImageCodeHelper.SESSION_IMAGE_CODE);

            model.ImageCode = ImageCodeHelper.CheckResult(model.ImageCode, sessionImageCode);

            if (model.ImageCode.ImageCodeError != ImageCodeError.NoError)
            {
                return(View(model));
            }

            if (await _userService.NameIsExistAsync(model.UserName))
            {
                ModelState.AddModelError("UserName", "* 用户名已经被使用");
                return(View(model));
            }

            await _registerService.Do(model);

            await _logService.On(new OnModel()
            {
                UserName = model.UserName,
                Password = model.Password
            }, true);

            return(ReturnUrlHelper.ReturnUrl(returnUrl));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> On(OnModel model, bool remember, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            //var sessionImageCode = _distributedCache.GetString(ImageCodeHelper.SESSION_IMAGE_CODE);
            var sessionImageCode = HttpContext.Session.GetString(ImageCodeHelper.SESSION_IMAGE_CODE);

            model.ImageCode = ImageCodeHelper.CheckResult(model.ImageCode, sessionImageCode);
            if (model.ImageCode.ImageCodeError != ImageCodeError.NoError)
            {
                return(View(model));
            }

            var existUser = await _logService.GetUser(model.UserName);

            if (existUser != null && existUser.Password == _encrypt.Encrypt(model.Password))
            {
                await _logService.On(model, remember);

                return(ReturnUrlHelper.ReturnUrl(returnUrl));
            }

            TempData["ModelState"] = "* 用户名或密码错误";
            return(View(model));
        }
Ejemplo n.º 3
0
        public IActionResult GetImageCode()
        {
            string code = ImageCodeHelper.CreateValidateCode(4);

            //_distributedCache.SetString(ImageCodeHelper.SESSION_IMAGE_CODE, code);
            HttpContext.Session.SetString(ImageCodeHelper.SESSION_IMAGE_CODE, code);
            byte[] bytes = ImageCodeHelper.CreateValidateGraphic(code);

            return(File(bytes, @"image/jpeg"));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Put(OnModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Json(ModelState.ValidationState));
            }

            var sessionImageCode = HttpContext.Session.GetString(ImageCodeHelper.SESSION_IMAGE_CODE);

            model.ImageCode = ImageCodeHelper.CheckResult(model.ImageCode, sessionImageCode);
            if (model.ImageCode.ImageCodeError != ImageCodeError.NoError)
            {
                return(Json(new RequestResult
                {
                    State = RequestState.Failed,
                    Msg = "ÑéÖ¤Âë´íÎó!"
                }));
            }

            var existUser = await _logService.GetUser(model.UserName);

            if ((existUser != null) && (existUser.Password == _encrypt.Encrypt(model.Password)))
            {
                var requestAt = DateTime.Now;
                var expiresIn = requestAt + TokenAuthOption.ExpiresSpan;
                var token     = GenerateToken(existUser, expiresIn);

                return(Json(new RequestResult
                {
                    State = RequestState.Success,
                    Data = new
                    {
                        requertAt = requestAt,
                        expiresIn = TokenAuthOption.ExpiresSpan.TotalSeconds,
                        tokeyType = TokenAuthOption.TokenType,
                        accessToken = token
                    }
                }));
            }
            else
            {
                return(Json(new RequestResult
                {
                    State = RequestState.Failed,
                    Msg = "Óû§Ãû»òÃÜÂë´íÎó!"
                }));
            }
        }
Ejemplo n.º 5
0
        public JsonResult Login(LoginModel model)
        {
            var result = new BaseResponse();

            if (string.IsNullOrEmpty(model.UserName))
            {
                result.SetFail("请输入用户名");
                return(Json(result));
            }
            if (string.IsNullOrEmpty(model.Password))
            {
                result.SetFail("请输入密码");
                return(Json(result));
            }
            if (string.IsNullOrEmpty(model.VidateCode))
            {
                result.SetFail("请输入验证码");
                return(Json(result));
            }

            if (ImageCodeHelper.GetImageCode() == null)
            {
                result.SetFail("验证码已过期,请刷新验证码");
                return(Json(result));
            }
            else
            {
                if (!ImageCodeHelper.ValidateImageCode(model.VidateCode.ToUpper()))
                {
                    result.SetFail("验证码错误");
                    return(Json(result));
                }
            }

            // API登录逻辑

            // 登录成功
            UserInfo userInfo = new UserInfo();

            userInfo.UserId   = Guid.NewGuid().ToString();
            userInfo.UserName = "******";
            AuthorizeProvider.StoreAuthorize(userInfo, HttpContext);
            result.SetSuccess("登录成功");

            return(Json(result));
        }
 public IActionResult ImageCode(string uuid)
 {
     return(new FileContentResult(ImageCodeHelper.ImageCodeToByte(uuid), "image/jpg"));
 }
Ejemplo n.º 7
0
        public ActionResult GetCheckCode()
        {
            var image = ImageCodeHelper.GenerateImageCode();

            return(File(image, "image/jpeg"));
        }