/// <summary> /// 获取用户登录信息 /// </summary> /// <returns></returns> private EyouSoft.SSOComponent.Entity.LocalUserInfo GetLoginTicket(TicketType ticket) { HttpCookie hc = HttpContext.Current.Request.Cookies[ticket.ToString()]; if (hc == null) { return(null); } EyouSoft.SSOComponent.Entity.LocalUserInfo LocalUser = new EyouSoft.SSOComponent.Entity.LocalUserInfo(); if (!string.IsNullOrEmpty(hc["UID"])) { LocalUser.UID = crypto.DeDESEncrypt(hc["UID"].ToString()); } if (!string.IsNullOrEmpty(hc["LoginTicket"])) { LocalUser.LoginTicket = crypto.DeDESEncrypt(hc["LoginTicket"].ToString()); LocalUser.DecryptLoginTicket = new EyouSoft.SSOComponent.Entity.DecryptLoginTicket(); LocalUser.DecryptLoginTicket.UserName = LocalUser.LoginTicket.Split('|')[0]; LocalUser.DecryptLoginTicket.ExpireTime = DateTime.Parse(LocalUser.LoginTicket.Split('|')[1]); } return(LocalUser); }
/// <summary> /// 获取用户信息 /// </summary> /// <returns></returns> public EyouSoft.SSOComponent.Entity.UserInfo GetUser() { EyouSoft.SSOComponent.Entity.LocalUserInfo LocalUser = GetLoginTicket(TicketType.UserCookieName); if (LocalUser == null) { return(null); } if (LocalUser.DecryptLoginTicket.ExpireTime > DateTime.Now) { return(null); } EyouSoft.SSOComponent.Entity.UserInfo User = new EyouSoft.SSOComponent.Remote.UserLogin().GetUserInfo(LocalUser.UID); if (ValidateUser(User)) { return(User); } else { return(null); } }
/// <summary> /// 验证用户 /// </summary> /// <param name="User">管理员信息</param> /// <returns></returns> private bool ValidateUser(EyouSoft.SSOComponent.Entity.MasterUserInfo User) { try { if (User == null) { return(false); } EyouSoft.SSOComponent.Entity.LocalUserInfo LocalUser = GetLoginTicket(TicketType.UserCookieName); if (LocalUser.LoginTicket == User.LoginTicket) { if (LocalUser.DecryptLoginTicket.ExpireTime > DateTime.Now || User.UserName.ToString() != LocalUser.DecryptLoginTicket.UserName) { return(false); } } } catch { return(false); } return(true); }