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)); }
public OnModel OGetByName(string UserName) { User userInfo = userRepository.GetByName(UserName); OnModel model = mapper.Map <OnModel>(userInfo); return(model); }
public ActionResult On(OnModel model) { if (model.Captcha != Session[Keys.CAPTCHA].ToString()) { return(View(model)); } OnModel result = userService.OGetByName(model.Name); if (result == null) { ModelState.AddModelError(Keys.Name, "*输入的用户名不存在"); return(View()); } if (result.Password != model.Password) { ModelState.AddModelError(Keys.Password, "用户名或密码错误"); return(View()); } //添加cookie CookieHelper.addCookie(result.Id, result.Password, result.RemberMe); if (Request.QueryString[Keys.Prepage] == null) { return(View("/Home")); } return(RedirectToAction(nameof(On))); }
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 = "Óû§Ãû»òÃÜÂë´íÎó!" })); } }
/// <summary> /// 登录 /// </summary> /// <param name="model"></param> /// <param name="remember"></param> /// <returns></returns> public async Task On(OnModel model, bool remember) { var httpcontext = _httpContextAccessor.HttpContext; var user = await _context.Users.AsNoTracking().SingleOrDefaultAsync(x => x.Name == model.UserName); var claimsIdentity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.SerialNumber, user.Id), new Claim(ClaimTypes.Name, user.Name), new Claim(ClaimTypes.NameIdentifier, user.AuthCode), new Claim(ClaimTypes.Role, user.Role.ToString()) }, CookieAuthenticationDefaults.AuthenticationScheme); var principal = new ClaimsPrincipal(claimsIdentity); await httpcontext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal, new AuthenticationProperties { ExpiresUtc = DateTime.UtcNow.AddHours(24), IsPersistent = true, AllowRefresh = false }); //await _signInManager.PasswordSignInAsync(model.UserName, model.Password,false, lockoutOnFailure: false); //int? days = remember ? 1 : (int?)null; //SetUserCookie(user, days); }
public Task On(OnModel model, bool remember) { throw new System.NotImplementedException(); }
public void On(OnModel model, IHttpContextAccessor httpContextAccessor) { httpContextAccessor.HttpContext.Response.Cookies.Append("user", model.UserName); }