/// <summary> /// 清除会员登录缓存信息 /// </summary> public static void ClearUserLogin() { try { var loginData = LoginData; #region 重新获取并写入Cookie var model = AdminService.Get(w => w.Id == loginData.Id); if (model != null) { #region 保存票据 UserLoginEncrypt userLoginEncryptData = new UserLoginEncrypt(); userLoginEncryptData.UserData = string.Format(Config.userData , model.Id //, model.UserGuid , model.UserName , loginData.Password //, model.Mobile //, model.Email , model.Name //, model.UserPic //, model.Gender , model.Enabled //, loginData.Logins , loginData.LoginDate , loginData.LoginIp , loginData.IsAdmin ); if (!string.IsNullOrEmpty(userLoginEncryptData.UserData)) { //写入Session值 if (!string.IsNullOrEmpty(userLoginEncryptData.UserData)) { UserLoginData _data = XmlToModel.ToUser(userLoginEncryptData.UserData); if (_data != null) { SessionUser.WriteSession(_data.Id); SessionUser.WriteSession(_data); } //用于校验cookie值是否被修改和Session的及时性 SessionUser.WriteSessionMd5(Security.Md5(userLoginEncryptData.UserData)); } //写入Cookie userLoginEncryptData.UserData = Security.DesEncrypt(userLoginEncryptData.UserData); Cookie.WriteCookie(userLoginEncryptData, DateTime.Now.AddDays(7)); } #endregion } #endregion } catch { } }
/// <summary> /// 用户登录 /// </summary> public static string Login(string loginName, string plaintext, string ipAddress, string checkCode, bool IsAuto = false) { if (!VerifyCode.Validate(checkCode)) { return("验证码输入错误"); } var model = AdminService.Login(loginName, plaintext, ipAddress); //判断是否登录成功 if (model != null) { #region 保存票据 UserLoginEncrypt userLoginEncryptData = new UserLoginEncrypt(); userLoginEncryptData.UserData = string.Format(Config.userData , model.Id , model.UserName , plaintext , model.Name , model.Enabled , model.LastLoginTime , model.LastLoginIp , model.IsAdmin ); if (!string.IsNullOrEmpty(userLoginEncryptData.UserData)) { //写入Session值 if (!string.IsNullOrEmpty(userLoginEncryptData.UserData)) { UserLoginData _data = XmlToModel.ToUser(userLoginEncryptData.UserData); if (_data != null) { SessionUser.WriteSession(_data.Id); SessionUser.WriteSession(_data); } //用于校验cookie值是否被修改和Session的及时性 SessionUser.WriteSessionMd5(Security.Md5(userLoginEncryptData.UserData)); } //写入Cookie userLoginEncryptData.UserData = Security.DesEncrypt(userLoginEncryptData.UserData); if (IsAuto) { Cookie.WriteCookie(userLoginEncryptData, DateTime.Now.AddDays(7)); } else { Cookie.WriteCookie(userLoginEncryptData, DateTime.Now.AddHours(1)); } #region 单用户登录 HttpContext.Current.Session[Config.sessionUserGUID] = Guid.NewGuid().ToString("N"); CookieUtility.Save(Config.cookiesUserGUID, HttpContext.Current.Session[Config.sessionUserGUID].ToString(), 10); Hashtable hOnline = (Hashtable)HttpContext.Current.Application["Online"]; if (hOnline != null) { IDictionaryEnumerator idE = hOnline.GetEnumerator(); string strKey = ""; while (idE.MoveNext()) { if (idE.Value != null && idE.Value.ToString().Equals(model.Id.ToString())) { strKey = idE.Key.ToString(); hOnline[strKey] = "XXXXXX"; break; } } } else { hOnline = new Hashtable(); } hOnline[HttpContext.Current.Session[Config.sessionUserGUID].ToString()] = model.Id; HttpContext.Current.Application.Lock(); HttpContext.Current.Application["Online"] = hOnline; HttpContext.Current.Application.UnLock(); #endregion } #endregion return(""); } else { return("登录名或密码错误"); } }