Exemple #1
0
        /// <summary>
        /// 检查指定账户是否已以某个loginToken形式登录(SSO管理站点才有用)
        /// </summary>
        /// <param name="ssoInfo">包含用户账号、访问令牌等</param>
        /// <returns></returns>
        public string CheckSSOLoginState(SSOInfo ssoInfo)
        {
            string ret = "101";

            if (!EnvProvider.Default.IsSSOManageSite)
            {
                ret = "100";
            }
            else
            {
                LibHandle handle = LibHandleCache.Default.IsExistsHandle(LibHandeleType.PC, ssoInfo.UserId);
                if (handle != null && handle.Token == ssoInfo.Token)
                {
                    ret = "0";
                }
            }
            // 公钥加密
            ret = LibRSAHelper.Encrypt(ret);
            return(ret);
        }
Exemple #2
0
 private bool CheckToken(SSOInfo ssoInfo)
 {
     if (EnvProvider.Default.IsSSOManageSite)
     {
         LibHandle handle = LibHandleCache.Default.IsExistsHandle(LibHandeleType.PC, ssoInfo.UserId);
         if (handle != null)
         {
             if (handle.Token == ssoInfo.Token)
             {
                 return(true);
             }
         }
     }
     else
     {
         try
         {
             string  baseUrl   = EnvProvider.Default.SSOManageSiteUrl;
             string  url       = baseUrl + "/sysSvc/checkSSOLoginState";
             string  errorInfo = "";
             dynamic obj       = LibNetUtils.HttpPostCall <dynamic>(url, new { ssoInfo = ssoInfo }, out errorInfo);
             if (string.IsNullOrEmpty(errorInfo))
             {
                 string ret = LibRSAHelper.Decrypt(obj.CheckSSOLoginStateResult.Value);
                 if (ret == "0")
                 {
                     return(true);
                 }
             }
         }
         catch (Exception)
         {
             //throw;
         }
     }
     return(false);
 }