public JsonResult UserLogin(string userName, string pwd) { int result = 0; Dictionary <string, object> resultObj = new Dictionary <string, object>(); YXERP.Common.PwdErrorUserEntity pwdErrorUser = null; if (Common.Common.CachePwdErrorUsers.ContainsKey(userName)) { pwdErrorUser = Common.Common.CachePwdErrorUsers[userName]; } if (pwdErrorUser == null || (pwdErrorUser.ErrorCount < 10 && pwdErrorUser.ForbidTime < DateTime.Now)) { string operateip = Common.Common.GetRequestIP(); IntFactoryEntity.Users model = IntFactoryBusiness.OrganizationBusiness.GetUserByUserName(userName, pwd, out result, operateip); if (model != null) { if (result == 1) { Dictionary <string, object> userObj = new Dictionary <string, object>(); string domainUrl = Request.Url.Scheme + "://" + Request.Url.Host; userObj.Add("userID", model.UserID); userObj.Add("clientID", model.ClientID); userObj.Add("name", model.Name); userObj.Add("avatar", domainUrl + model.Avatar); resultObj.Add("user", userObj); } } else { if (result == 3) { if (pwdErrorUser == null) { pwdErrorUser = new Common.PwdErrorUserEntity(); } else { if (pwdErrorUser.ErrorCount > 9) { pwdErrorUser.ErrorCount = 0; } } pwdErrorUser.ErrorCount += 1; if (pwdErrorUser.ErrorCount > 9) { pwdErrorUser.ForbidTime = DateTime.Now.AddHours(2); result = 2; } else { result = 3; resultObj.Add("errorCount", pwdErrorUser.ErrorCount); } Common.Common.CachePwdErrorUsers[userName] = pwdErrorUser; } } } else { int forbidTime = (int)(pwdErrorUser.ForbidTime - DateTime.Now).TotalMinutes; resultObj.Add("forbidTime", forbidTime); result = -1; } resultObj.Add("result", result); return(new JsonResult { Data = resultObj, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
/// <summary> /// 员工登录 /// </summary> /// <param name="userName"></param> /// <param name="pwd"></param> /// <returns></returns> public JsonResult UserLogin(string userName, string pwd, string remember) { int result = 0; Dictionary <string, object> resultObj = new Dictionary <string, object>(); YXERP.Common.PwdErrorUserEntity pwdErrorUser = null; if (Common.Common.CachePwdErrorUsers.ContainsKey(userName)) { pwdErrorUser = Common.Common.CachePwdErrorUsers[userName]; } if (pwdErrorUser == null || (pwdErrorUser.ErrorCount < 3 && pwdErrorUser.ForbidTime < DateTime.Now)) { string operateip = string.IsNullOrEmpty(Request.Headers.Get("X-Real-IP")) ? Request.UserHostAddress : Request.Headers["X-Real-IP"]; int outResult; CloudSalesEntity.Users model = CloudSalesBusiness.OrganizationBusiness.GetUserByUserName(userName, pwd, out outResult, operateip); if (model != null) { //保持登录状态 HttpCookie cook = new HttpCookie("cloudsales"); cook["username"] = userName; cook["pwd"] = pwd; cook["status"] = remember; cook.Expires = DateTime.Now.AddDays(7); Response.Cookies.Add(cook); Session["ClientManager"] = model; Common.Common.CachePwdErrorUsers.Remove(userName); result = 1; } else { if (outResult == 3) { if (pwdErrorUser == null) { pwdErrorUser = new Common.PwdErrorUserEntity(); } else { if (pwdErrorUser.ErrorCount > 2) { pwdErrorUser.ErrorCount = 0; } } pwdErrorUser.ErrorCount += 1; if (pwdErrorUser.ErrorCount > 2) { pwdErrorUser.ForbidTime = DateTime.Now.AddHours(2); result = 2; } else { result = 3; resultObj.Add("errorCount", pwdErrorUser.ErrorCount); } Common.Common.CachePwdErrorUsers[userName] = pwdErrorUser; } } } else { int forbidTime = (int)(pwdErrorUser.ForbidTime - DateTime.Now).TotalMinutes; resultObj.Add("forbidTime", forbidTime); result = -1; } resultObj.Add("result", result); return(new JsonResult { Data = resultObj, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }