Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
            }
        }
Esempio n. 3
0
 /// <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);
 }