private static ADSessionSettings CreateADTenantSessionSettingsByMSAUserNetID(LatencyTracker latencyTracker, string msaUserNetID) { return(DirectoryHelper.ExecuteFunctionAndUpdateMovingAveragePerformanceCounter <ADSessionSettings>(PerfCounters.HttpProxyCountersInstance.MovingAverageTenantLookupLatency, () => DirectoryHelper.InvokeGls <ADSessionSettings>(latencyTracker, () => ADSessionSettings.FromTenantMSAUser(msaUserNetID)))); }
private static ADSessionSettings CreateADSessionSettingsFromDomain(LatencyTracker latencyTracker, string domain) { return(DirectoryHelper.ExecuteFunctionAndUpdateMovingAveragePerformanceCounter <ADSessionSettings>(PerfCounters.HttpProxyCountersInstance.MovingAverageTenantLookupLatency, () => DirectoryHelper.InvokeGls <ADSessionSettings>(latencyTracker, () => ADSessionSettings.FromTenantAcceptedDomain(domain)))); }
internal static IRecipientSession GetRootOrgRecipientSession() { return(DirectoryHelper.CreateSession(ADSessionSettings.FromRootOrgScopeSet())); }
internal static IRecipientSession GetRecipientSessionFromOrganizationId(LatencyTracker latencyTracker, OrganizationId organizationId) { if (latencyTracker == null) { throw new ArgumentNullException("latencyTracker"); } if (organizationId == null) { organizationId = OrganizationId.ForestWideOrgId; } ADSessionSettings sessionSettings = DirectoryHelper.ExecuteFunctionAndUpdateMovingAveragePerformanceCounter <ADSessionSettings>(PerfCounters.HttpProxyCountersInstance.MovingAverageTenantLookupLatency, () => DirectoryHelper.InvokeGls <ADSessionSettings>(latencyTracker, () => ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(organizationId))); return(DirectoryHelper.CreateSession(sessionSettings)); }
internal static IRecipientSession GetRecipientSessionFromPartition(LatencyTracker latencyTracker, string partitionId) { if (latencyTracker == null) { throw new ArgumentNullException("latencyTracker"); } if (string.IsNullOrEmpty(partitionId)) { throw new ArgumentNullException("partitionId"); } ADSessionSettings adsessionSettings = null; PartitionId partitionIdObject = null; if ((Utilities.IsPartnerHostedOnly || VariantConfiguration.InvariantNoFlightingSnapshot.Global.MultiTenancy.Enabled) && PartitionId.TryParse(partitionId, out partitionIdObject)) { try { adsessionSettings = DirectoryHelper.ExecuteFunctionAndUpdateMovingAveragePerformanceCounter <ADSessionSettings>(PerfCounters.HttpProxyCountersInstance.MovingAverageTenantLookupLatency, () => DirectoryHelper.InvokeGls <ADSessionSettings>(latencyTracker, () => ADSessionSettings.FromAllTenantsPartitionId(partitionIdObject))); } catch (CannotResolvePartitionException arg) { ExTraceGlobals.VerboseTracer.TraceWarning <string, CannotResolvePartitionException>(0L, "[DirectoryHelper::GetRecipientSessionFromPartition] Caught CannotResolvePartitionException when resolving partition by partition ID {0}. Exception details: {1}.", partitionId, arg); } } if (adsessionSettings == null) { adsessionSettings = ADSessionSettings.FromRootOrgScopeSet(); } return(DirectoryHelper.CreateSession(adsessionSettings)); }
internal static IRecipientSession GetRecipientSessionFromExternalDirectoryOrganizationId(LatencyTracker latencyTracker, Guid externalOrgId) { if (latencyTracker == null) { throw new ArgumentNullException("latencyTracker"); } if (externalOrgId == Guid.Empty) { throw new ArgumentNullException("latencyTracker"); } ADSessionSettings sessionSettings = null; if (!Utilities.IsPartnerHostedOnly) { if (!VariantConfiguration.InvariantNoFlightingSnapshot.Global.WindowsLiveID.Enabled) { goto IL_A4; } } try { sessionSettings = DirectoryHelper.ExecuteFunctionAndUpdateMovingAveragePerformanceCounter <ADSessionSettings>(PerfCounters.HttpProxyCountersInstance.MovingAverageTenantLookupLatency, () => DirectoryHelper.InvokeGls <ADSessionSettings>(latencyTracker, () => ADSessionSettings.FromExternalDirectoryOrganizationId(externalOrgId))); goto IL_AA; } catch (CannotResolveExternalDirectoryOrganizationIdException ex) { throw new HttpProxyException(HttpStatusCode.NotFound, HttpProxySubErrorCode.DomainNotFound, ex.Message, ex); } IL_A4: sessionSettings = ADSessionSettings.FromRootOrgScopeSet(); IL_AA: return(DirectoryHelper.CreateSession(sessionSettings)); }