public Myuser getMyuser() { Myuser myuser = _helperSer.GetSession <Myuser>("login_code"); if (myuser == null) { myuser = new Myuser(); myuser.UserGUID = new Guid(MyHttpContext.Current.User.Claims.SingleOrDefault(s => s.Type == ClaimTypes.NameIdentifier).Value); myuser.UserCode = MyHttpContext.Current.User.Claims.SingleOrDefault(s => s.Type == ClaimTypes.Sid).Value; myuser.UserName = MyHttpContext.Current.User.Claims.SingleOrDefault(s => s.Type == ClaimTypes.Name).Value; } return(myuser); }
public JsonResult dologin(Myuser myuser) { ResultModel result = new ResultModel(); int i = (HttpContext.Session.GetInt32("ErrorCount") ?? 0); if (i >= 3) { string code = HttpContext.Session.GetString("LoginValidateCode").ToLower(); if (code != myuser.Verifycode.ToLower().Trim()) { result.State = 2; result.Message = "验证码输入错误!"; result.IfValidate = true; return(Json(result)); } } result = MyuserBll.Login(myuser.UserCode, myuser.UserPassword, myuser).Result; if (result.State == 1) { HttpContext.Session.SetInt32("ErrorCount", ++i); if (i > 2) { result.IfValidate = true; } else { result.IfValidate = false; } } if (result.State == 0) { HttpContext.Session.Remove("LoginValidateCode"); HttpContext.Session.Remove("ErrorCount"); CommonUI.SaveUser(myuser, true); string returnUrl = TempData["returnUrl"]?.ToString(); if (returnUrl != null) { Redirect(returnUrl); } else { RedirectToAction(nameof(HomeController.Index), "Home"); } } return(Json(result)); }
public bool SaveCookie(string strCookeName, Myuser myuser, int intTimeDayOut) { if (myuser == null) { return(false); } ClaimsIdentity identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme); identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, myuser.UserGUID.ToString())); identity.AddClaim(new Claim(ClaimTypes.Sid, myuser.UserCode)); identity.AddClaim(new Claim(ClaimTypes.Name, myuser.UserName)); ClaimsPrincipal principal = new ClaimsPrincipal(identity); MyHttpContext.Current.SignInAsync( strCookeName, principal, new AuthenticationProperties { ExpiresUtc = DateTime.UtcNow.AddMinutes(intTimeDayOut) }); return(true); }
public async Task <ResultModel> Login(string UserCode, string Password, Myuser myuser) { ResultModel result = new ResultModel(); Myuser user = null; try { user = await _dbContext.Myusers .FirstOrDefaultAsync(m => m.UserCode == UserCode); } catch (Exception ex) { throw ex; } if (user == null || user.UserGUID == Guid.Empty) { result.State = 1; result.Message = "该用户不存在!"; } else if (user.IsForbidden == 1) { result.State = 1; result.Message = "该用户已被停用,请与管理员联系!"; } else if (Password != _getHelper.AESDecrypt(user.UserPassword, user.UserGUID.ToString("N"))) { result.State = 1; result.Message = "密码错误!"; } else { result.State = 0; result.Message = "登录成功!"; myuser.UserGUID = user.UserGUID; myuser.UserName = user.UserName; } return(result); }
public void SaveUser(Myuser user, bool remember) { _helperSer.SetSession("login_code", user); _helperSer.SaveCookie(CookieAuthenticationDefaults.AuthenticationScheme, user, 20); }