// Token: 0x060004FA RID: 1274 RVA: 0x0001B7D4 File Offset: 0x000199D4
        protected override void AddProtocolSpecificHeadersToServerRequest(WebHeaderCollection headers)
        {
            IIdentity identity = base.HttpContext.User.Identity;

            if (identity is WindowsIdentity || identity is ClientSecurityContextIdentity)
            {
                headers["X-EAS-Proxy"] = IIdentityExtensions.GetSecurityIdentifier(identity).ToString() + "," + IIdentityExtensions.GetSafeName(identity, true);
            }
            base.AddProtocolSpecificHeadersToServerRequest(headers);
        }
        // Token: 0x0600071B RID: 1819 RVA: 0x00029BE0 File Offset: 0x00027DE0
        private int GetKeyForCasAffinity()
        {
            IIdentity identity = base.HttpContext.User.Identity;

            if (identity is WindowsIdentity || identity is ClientSecurityContextIdentity)
            {
                return(IIdentityExtensions.GetSecurityIdentifier(identity).GetHashCode());
            }
            return(identity.Name.GetHashCode());
        }
Example #3
0
 // Token: 0x06000505 RID: 1285 RVA: 0x0001B9A4 File Offset: 0x00019BA4
 internal static void AddDownLevelProxyHeaders(WebHeaderCollection headers, HttpContext context)
 {
     if (!context.Request.IsAuthenticated)
     {
         return;
     }
     if (context.User != null)
     {
         IIdentity identity = context.User.Identity;
         if ((identity is WindowsIdentity || identity is ClientSecurityContextIdentity) && null != IIdentityExtensions.GetSecurityIdentifier(identity))
         {
             string value = IIdentityExtensions.GetSecurityIdentifier(identity).ToString();
             headers["msExchLogonAccount"]  = value;
             headers["msExchLogonMailbox"]  = value;
             headers["msExchTargetMailbox"] = value;
         }
     }
 }
        // Token: 0x060005C6 RID: 1478 RVA: 0x0001FDB4 File Offset: 0x0001DFB4
        protected override void AddProtocolSpecificHeadersToServerRequest(WebHeaderCollection headers)
        {
            IIdentity         identity          = base.HttpContext.User.Identity;
            CompositeIdentity compositeIdentity = base.HttpContext.User.Identity as CompositeIdentity;

            if (compositeIdentity != null)
            {
                identity = compositeIdentity.PrimaryIdentity;
            }
            if (!base.ProxyToDownLevel || identity is OAuthIdentity || identity is OAuthPreAuthIdentity || identity is MSAIdentity)
            {
                if (ExTraceGlobals.VerboseTracer.IsTraceEnabled(1))
                {
                    ExTraceGlobals.VerboseTracer.TraceDebug((long)this.GetHashCode(), "[OwaProxyRequestHandler::AddProtocolSpecificHeadersToServerRequest]: Skip adding downlevel proxy headers.");
                }
            }
            else
            {
                if (ExTraceGlobals.VerboseTracer.IsTraceEnabled(1))
                {
                    ExTraceGlobals.VerboseTracer.TraceDebug <string>((long)this.GetHashCode(), "[OwaProxyRequestHandler::AddProtocolSpecificHeadersToServerRequest]: User identity type is {0}.", identity.GetType().FullName);
                }
                headers["X-OWA-ProxySid"] = IIdentityExtensions.GetSecurityIdentifier(identity).ToString();
                OwaProxyRequestHandler.AddProxyUriHeader(base.ClientRequest, headers);
                headers["X-OWA-ProxyVersion"] = HttpProxyGlobals.ApplicationVersion;
            }
            if (UrlUtilities.IsCmdWebPart(base.ClientRequest) && !OwaProxyRequestHandler.IsOwa15Url(base.ClientRequest))
            {
                headers["X-OWA-ProxyWebPart"] = "1";
            }
            headers["RPSPUID"]      = (string)base.HttpContext.Items["RPSPUID"];
            headers["RPSOrgIdPUID"] = (string)base.HttpContext.Items["RPSOrgIdPUID"];
            headers["logonLatency"] = (string)base.HttpContext.Items["logonLatency"];
            if (base.IsExplicitSignOn)
            {
                headers[OwaHttpHeader.ExplicitLogonUser] = HttpUtility.UrlDecode(base.ExplicitSignOnAddress);
            }
            string clientRequestIdValue = DiagnosticIdentifiers.GetClientRequestIdValue();

            base.HttpContext.Response.AppendToLog(string.Format("&{0}={1}", "ClientRequestId", clientRequestIdValue));
            headers["X-ClientRequestId"] = clientRequestIdValue;
            base.AddProtocolSpecificHeadersToServerRequest(headers);
        }