/// <summary>
        /// 验证用户身份
        /// </summary>
        private void Authentication()
        {
            string string_Token = this.SSOToken;


            if (string.IsNullOrEmpty(string_Token))
            {
                RedirectToLogon(LoginError.TokenWrong);
                return;
            }

            SSOTokenInfo tokenInfo = SSOProvider.GetInfoFromSSFToken(string_Token);

            //判断Token是否在有效期内
            if (!(tokenInfo.LoginDate.AddHours(SSOProvider.SSFTokenValidationPeriod) > DateTime.Now))
            {
                RedirectToLogon(LoginError.TokenExpired);
                return;
            }

            SystemUserWrapper userInfo = SystemUserWrapper.FindByLoginID(tokenInfo.LoginUserID);

            //单点登录判断
            if (tokenInfo.SSOKey != userInfo.SSOKey)
            {
                RedirectToLogon(LoginError.HasLoginInOtherPlace);
                return;
            }

            if (SSOProvider.GetSessionValue(SSOProvider.Session_Key_LoginUser) == null)
            {
                SSOProvider.SetSessionValue(SSOProvider.Session_Key_LoginUser, tokenInfo);
            }
        }
Esempio n. 2
0
 public static string GetSSFToken(SSOTokenInfo ssoTokenInfo)
 {
     return(CryptographyUtil.EncryptDES(SerializeUtil.ToJson(ssoTokenInfo), m_SSFTokenKey));
 }
Esempio n. 3
0
 public static void SetSessionValue(string sessionKeyLoginUser, SSOTokenInfo tokenInfo)
 {
     HttpContext.Current.Session[sessionKeyLoginUser] = tokenInfo;
 }