public ActionResult CheckLogin(string username, string password, string verifycode, int autologin) { ActionResult res = null; LogEntity logEntity = new LogEntity { CategoryId = (int)CategoryType.Login, OperateTypeId = ((int)OperationType.Login).ToString(), OperateType = OperationType.Login.GetEnumDescription(), OperateAccount = username, OperateUserId = username, OperateTime = DateTime.Now, IPAddress = NetHelper.Ip, IPAddressName = "",//NetHelper.GetAddressByIP(NetHelper.Ip), Browser = NetHelper.Browser, Module = ConfigHelper.GetValue("SoftName") }; Logger(this.GetType(), "登录验证-CheckLogin", () => { #region 验证码验证 string code = Md5Helper.Md5(verifycode.ToLower()); string sessionCode = SessionHelper.GetSession <string>("session_verifycode"); if (string.IsNullOrEmpty(sessionCode) || code != sessionCode) { res = Error("验证码错误,请重新输入"); } #endregion #region 账户验证 else { Tuple <UserEntity, JsonObjectStatus> tuple = userBll.CheckLogin(username, password); JsonObjectStatus status = tuple.Item2; UserEntity user = tuple.Item1; if (status != JsonObjectStatus.Success || user == null) { res = Error(status.GetEnumDescription()); } else { string objId = permissionBll.GetObjectString(user.Id); OperatorEntity operators = new OperatorEntity { UserId = user.Id, Code = user.EnCode, Account = user.Account, UserName = user.RealName ?? user.NickName, Password = user.Password, Secretkey = user.Secretkey, CompanyId = user.OrganizeId, DepartmentId = user.DepartmentId, IPAddress = NetHelper.Ip, IPAddressName = "",//NetHelper.GetAddressByIP(NetHelper.Ip), ObjectId = objId, LoginTime = DateTime.Now, Token = DESEncryptHelper.Encrypt(CommonHelper.GetGuid(), user.Secretkey) }; //写入当前用户数据权限 string ReadAutorize = authorizeBLL.GetDataAuthor(operators); string ReadAutorizeUserId = authorizeBLL.GetDataAuthorUserId(operators); string WriteAutorize = authorizeBLL.GetDataAuthor(operators, true); string WriteAutorizeUserId = authorizeBLL.GetDataAuthorUserId(operators, true); AuthorizeDataModel dataAuthorize = new AuthorizeDataModel { ReadAutorize = ReadAutorize, ReadAutorizeUserId = ReadAutorizeUserId, WriteAutorize = WriteAutorize, WriteAutorizeUserId = WriteAutorizeUserId }; operators.DataAuthorize = dataAuthorize; //判断是否系统管理员 operators.IsSystem = user.Account == "System"; //写入登录信息 OperatorProvider.Provider.AddCurrent(operators); //写入日志 logEntity.ExecuteResult = 1; logEntity.ExecuteResultJson = "登录成功"; logBll.WriteLog(logEntity); res = Success("登录成功", user, "/Home/AdminDefault"); } } #endregion }, e => { CookieHelper.DelCookie("__autologin");//清除自动登录 logEntity.ExecuteResult = -1; logEntity.ExecuteResultJson = e.Message; logBll.WriteLog(logEntity); res = Error("系统异常:" + e.Message); }, () => { SessionHelper.RemoveSession("session_verifycode"); }); return(res); }
public ActionResult CheckLogin(string username, string password, string verifycode, int autologin) { ActionResult res = null; Logger(this.GetType(), "登录验证-CheckLogin", () => { #region 验证码验证 string code = Md5Helper.Md5(verifycode.ToLower()); string sessionCode = SessionHelper.GetSession <string>("session_verifycode"); if (string.IsNullOrEmpty(sessionCode) || code != sessionCode) { res = Error("验证码错误,请重新输入"); } #endregion #region 账户验证 else { JsonObjectStatus status; UserEntity user = _userBll.CheckLogin(username, password, out status); if (status != JsonObjectStatus.Success || user == null) { res = Error(status.GetEnumDescription()); } else { string objId = _permissionBll.GetObjectString(user.UserId); OperatorEntity operators = new OperatorEntity { UserId = user.UserId, Code = user.EnCode, Account = user.Account, UserName = user.RealName ?? user.NickName, Password = user.Password, Secretkey = user.Secretkey, CompanyId = user.OrganizeId, DepartmentId = user.DepartmentId, IPAddress = NetHelper.Ip, IPAddressName = NetHelper.GetAddressByIP(NetHelper.Ip), ObjectId = objId, LoginTime = DateTime.Now, Token = DESEncryptHelper.Encrypt(CommonHelper.GetGuid(), user.Secretkey) }; //写入当前用户数据权限 AuthorizeDataModel dataAuthorize = new AuthorizeDataModel { ReadAutorize = _authorizeBll.GetDataAuthor(operators), ReadAutorizeUserId = _authorizeBll.GetDataAuthorUserId(operators), WriteAutorize = _authorizeBll.GetDataAuthor(operators, true), WriteAutorizeUserId = _authorizeBll.GetDataAuthorUserId(operators, true) }; operators.DataAuthorize = dataAuthorize; //判断是否系统管理员 operators.IsSystem = user.Account == "System"; //写入登录信息 OperatorProvider.Provider.AddCurrent(operators); res = Success("登录成功", user, "/Home/AdminDefault"); } } #endregion }, e => { res = Error("系统异常:" + e.Message); }, () => { SessionHelper.RemoveSession("session_verifycode"); }); return(res); }