예제 #1
0
        private static ADRawEntry FindByLiveIdMemberName(SmtpAddress liveIdMemberName, ITenantRecipientSession recipientSession, IRoutingDiagnostics diagnostics)
        {
            DateTime   utcNow = DateTime.UtcNow;
            ADRawEntry result;

            try
            {
                result = recipientSession.FindByLiveIdMemberName(liveIdMemberName.ToString(), ActiveDirectoryUserProvider.AdRawEntryProperties);
            }
            finally
            {
                diagnostics.AddAccountForestLatency(DateTime.UtcNow - utcNow);
            }
            return(result);
        }
예제 #2
0
        // Token: 0x0600011D RID: 285 RVA: 0x000069A8 File Offset: 0x00004BA8
        protected override ADRawEntry LoadADRawEntry()
        {
            bool value = AnchorMailbox.AllowMissingTenant.Value;
            ITenantRecipientSession session = DirectoryHelper.GetTenantRecipientSessionFromSmtpOrLiveId(this.LiveIdMemberName, base.RequestContext.Logger, base.RequestContext.LatencyTracker, value);

            if (value && session == null)
            {
                return(null);
            }
            ExTraceGlobals.VerboseTracer.Information <string, string, string>((long)this.GetHashCode(), "Searching GC {0} for LiveIdMemberName {1}, OrganizationContext {2}", session.DomainController ?? "<null>", this.LiveIdMemberName, this.OrganizationContext ?? "<null>");
            ADRawEntry adrawEntry = DirectoryHelper.InvokeAccountForest <ADRawEntry>(base.RequestContext.LatencyTracker, () => session.FindByLiveIdMemberName(this.LiveIdMemberName, this.PropertySet, "d:\\dbs\\sh\\e16df\\0212_214120_0\\cmd\\1g\\sources\\Dev\\Cafe\\src\\HttpProxy\\AnchorMailbox\\LiveIdMemberNameAnchorMailbox.cs", 113, "LoadADRawEntry"), base.RequestContext.Logger, session);

            if (adrawEntry != null && base.RequestContext.HttpContext.User.Identity.Name.Equals(this.LiveIdMemberName, StringComparison.OrdinalIgnoreCase))
            {
                base.RequestContext.HttpContext.Items[Constants.CallerADRawEntryKeyName] = adrawEntry;
            }
            return(adrawEntry);
        }
예제 #3
0
        protected override ADRawEntry LoadADRawEntry()
        {
            string text = this.OrganizationContext;

            if (string.IsNullOrEmpty(text))
            {
                SmtpAddress smtpAddress = new SmtpAddress(this.LiveIdMemberName);
                text = smtpAddress.Domain;
            }
            bool flag = PuidAnchorMailbox.AllowMissingDirectoryObject.Value || AnchorMailbox.AllowMissingTenant.Value;
            ITenantRecipientSession session = (ITenantRecipientSession)DirectoryHelper.GetRecipientSessionFromDomain(base.RequestContext.LatencyTracker, text, flag);

            if (flag && session == null)
            {
                return(null);
            }
            ExTraceGlobals.VerboseTracer.Information <string, string, string>((long)this.GetHashCode(), "Searching GC {0} for LiveIdMemberName {1}, OrganizationContext {2}", session.DomainController ?? "<null>", this.LiveIdMemberName, this.OrganizationContext ?? "<null>");
            ADRawEntry adrawEntry = DirectoryHelper.InvokeAccountForest(base.RequestContext.LatencyTracker, () => session.FindByLiveIdMemberName(this.LiveIdMemberName, this.PropertySet));

            if (adrawEntry != null && base.RequestContext.HttpContext.User.Identity.Name.Equals(this.LiveIdMemberName, StringComparison.OrdinalIgnoreCase))
            {
                base.RequestContext.HttpContext.Items[Constants.CallerADRawEntryKeyName] = adrawEntry;
            }
            return(adrawEntry);
        }