Exemplo n.º 1
0
 internal static ScopeSet GetOrgWideDefaultScopeSet(OrganizationId organizationId)
 {
     return(ScopeSet.GetOrgWideDefaultScopeSet(organizationId, null));
 }
Exemplo n.º 2
0
 public static ScopeSet ResolveUnderScope(OrganizationId organizationId, ScopeSet scopeSet)
 {
     return(ScopeSet.ResolveUnderScope(organizationId, scopeSet, true));
 }
        internal override ADSessionSettings FromTenantMSAUser(string msaUserNetID)
        {
            OrganizationId scopingOrganizationId = OrganizationId.FromMSAUserNetID(msaUserNetID);

            return(ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(scopingOrganizationId));
        }
Exemplo n.º 4
0
        internal void PopulateRootAndFilter(OrganizationId organizationId, IReadOnlyPropertyBag propertyBag)
        {
            if (this.Root != null || this.Filter != null)
            {
                return;
            }
            if (this.isFromEndUserRole && propertyBag == null)
            {
                throw new ArgumentNullException("propertyBag");
            }
            if (organizationId != null)
            {
                this.SelfRoot = organizationId.OrganizationalUnit;
            }
            if (propertyBag != null)
            {
                this.SelfFilter = new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.Id, propertyBag[ADObjectSchema.Id]);
            }
            switch (this.scopeType)
            {
            case ScopeType.None:
                this.Root   = null;
                this.Filter = ADScope.NoObjectFilter;
                return;

            case ScopeType.NotApplicable:
                this.Root   = null;
                this.Filter = null;
                return;

            case ScopeType.Organization:
                this.Root   = organizationId.OrganizationalUnit;
                this.Filter = null;
                return;

            case ScopeType.MyGAL:
            {
                AddressBookBase globalAddressList = this.GetGlobalAddressList(organizationId);
                this.Root = organizationId.OrganizationalUnit;
                if (globalAddressList == null)
                {
                    this.Filter = ADScope.NoObjectFilter;
                    return;
                }
                this.Filter = new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.AddressListMembership, globalAddressList.Id);
                return;
            }

            case ScopeType.Self:
                this.Root   = organizationId.OrganizationalUnit;
                this.Filter = new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.Id, propertyBag[ADObjectSchema.Id]);
                return;

            case ScopeType.MyDirectReports:
                this.Root   = organizationId.OrganizationalUnit;
                this.Filter = new ComparisonFilter(ComparisonOperator.Equal, ADOrgPersonSchema.Manager, propertyBag[ADObjectSchema.Id]);
                return;

            case ScopeType.OU:
                this.Root   = this.ouId;
                this.Filter = null;
                return;

            case ScopeType.CustomRecipientScope:
            case ScopeType.CustomConfigScope:
            case ScopeType.PartnerDelegatedTenantScope:
            case ScopeType.ExclusiveRecipientScope:
            case ScopeType.ExclusiveConfigScope:
                this.Root   = this.managementScope.RecipientRoot;
                this.Filter = this.managementScope.QueryFilter;
                return;

            case ScopeType.MyDistributionGroups:
            {
                this.Root = organizationId.OrganizationalUnit;
                QueryFilter[] array = new QueryFilter[3];
                array[0] = new ComparisonFilter(ComparisonOperator.Equal, ADGroupSchema.ManagedBy, propertyBag[ADObjectSchema.Id]);
                array[1] = new ComparisonFilter(ComparisonOperator.Equal, ADGroupSchema.CoManagedBy, propertyBag[ADObjectSchema.Id]);
                array[2] = new CSharpFilter <IReadOnlyPropertyBag>(delegate(IReadOnlyPropertyBag obj)
                    {
                        ADGroup adgroup = obj as ADGroup;
                        return(adgroup != null && adgroup.IsExecutingUserGroupOwner);
                    });
                this.Filter = new OrFilter(array);
                return;
            }

            case ScopeType.MyExecutive:
                break;

            case ScopeType.OrganizationConfig:
                this.Root   = organizationId.ConfigurationUnit;
                this.Filter = null;
                return;

            case ScopeType.MailboxICanDelegate:
            {
                this.Root = organizationId.OrganizationalUnit;
                QueryFilter[] array2 = new QueryFilter[2];
                array2[0] = new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.MasterAccountSid, this.securityAccessToken.UserSid);
                array2[1] = new CSharpFilter <IReadOnlyPropertyBag>(delegate(IReadOnlyPropertyBag obj)
                    {
                        RawSecurityDescriptor rawSecurityDescriptor = ((ADObject)obj).ReadSecurityDescriptor();
                        if (rawSecurityDescriptor != null)
                        {
                            using (AuthzContextHandle authzContext = AuthzAuthorization.GetAuthzContext(new SecurityIdentifier(this.securityAccessToken.UserSid), false))
                            {
                                bool[] array3 = AuthzAuthorization.CheckExtendedRights(authzContext, rawSecurityDescriptor, new Guid[]
                                {
                                    WellKnownGuid.PersonalInfoPropSetGuid
                                }, null, AccessMask.WriteProp);
                                return(array3[0]);
                            }
                            return(false);
                        }
                        return(false);
                    });
                this.Filter = new OrFilter(array2);
                return;
            }

            default:
                this.Root   = null;
                this.Filter = ADScope.NoObjectFilter;
                break;
            }
        }
 private static IConfigurationSession GetSession(OrganizationId organizationId)
 {
     return(DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(true, ConsistencyMode.PartiallyConsistent, ADSessionSettings.FromAllTenantsOrRootOrgAutoDetect(organizationId), 371, "GetSession", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\throttling\\throttlingpolicycache.cs"));
 }
        internal override ADSessionSettings FromTenantForestAndCN(string exoAccountForest, string exoTenantContainer)
        {
            OrganizationId scopingOrganizationId = OrganizationId.FromTenantForestAndCN(exoAccountForest, exoTenantContainer);

            return(ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(scopingOrganizationId));
        }
Exemplo n.º 7
0
 // Token: 0x06000E2F RID: 3631 RVA: 0x0004240A File Offset: 0x0004060A
 internal static string GetTokenForUser(string userId, OrganizationId organization)
 {
     return(string.Format("{0}@{1}", userId, organization.OrganizationalUnit.Name).ToLowerInvariant());
 }
 // Token: 0x06000F90 RID: 3984 RVA: 0x0004A4EB File Offset: 0x000486EB
 public static OwaSegmentationSettings GetInstance(IConfigurationSession configSession, ADObjectId owaMailboxPolicyId, OrganizationId orgId)
 {
     return(new OwaSegmentationSettings(configSession, owaMailboxPolicyId, orgId));
 }
Exemplo n.º 9
0
 // Token: 0x06000CCA RID: 3274 RVA: 0x00039722 File Offset: 0x00037922
 internal static bool IsConsumerOrganization(OrganizationId organizationId)
 {
     return(TemplateTenantConfiguration.IsTemplateTenant(organizationId));
 }
Exemplo n.º 10
0
 // Token: 0x06000E2E RID: 3630 RVA: 0x000423F8 File Offset: 0x000405F8
 internal static string GetTokenForOrganization(OrganizationId organization)
 {
     return(organization.OrganizationalUnit.Name.ToLowerInvariant());
 }
Exemplo n.º 11
0
        internal static bool GetIsLicensingEnforcedInOrg(OrganizationId organizationId)
        {
            OrganizationProperties organizationProperties;

            return(!OrganizationPropertyCache.TryGetOrganizationProperties(organizationId, out organizationProperties) || organizationProperties.IsLicensingEnforced);
        }
Exemplo n.º 12
0
 public virtual IThrottlingPolicy Get(OrganizationId organizationId)
 {
     this.BeforeGet();
     return(this.organizationThrottlingPolicies.GetValue(null, organizationId).ThrottlingPolicy);
 }
Exemplo n.º 13
0
        private static CachableThrottlingPolicyItem ResolveOrganizationThrottlingPolicy(object obj, OrganizationId organizationId)
        {
            SharedConfiguration sharedConfiguration = SharedConfiguration.GetSharedConfiguration(organizationId);

            if (sharedConfiguration != null)
            {
                organizationId = sharedConfiguration.SharedConfigId;
            }
            ThrottlingPolicy throttlingPolicy = ThrottlingPolicyCache.ReadThrottlingPolicyFromAD(ThrottlingPolicyCache.GetSession(organizationId), organizationId, (IConfigurationSession session1, object id) => session1.GetOrganizationThrottlingPolicy((OrganizationId)id));

            return(new CachableThrottlingPolicyItem((throttlingPolicy == null) ? ThrottlingPolicyCache.Singleton.GetGlobalThrottlingPolicy() : throttlingPolicy.GetEffectiveThrottlingPolicy(true)));
        }
Exemplo n.º 14
0
 internal static ADObjectIdWithString ParseDNStringSyntax(string value, OrganizationId orgId)
 {
     return(ADObjectIdWithString.ParseDNStringSyntax(value, Guid.Empty, orgId));
 }
Exemplo n.º 15
0
 public TenantRelocationState(string sourceForestFQDN, TenantRelocationStatus sourceForestState, string targetForestFQDN, RelocationStatusDetailsDestination targetForestState, OrganizationId organizationId, OrganizationId targetOrganizationId) : this(sourceForestFQDN, sourceForestState)
 {
     if (string.IsNullOrEmpty(targetForestFQDN))
     {
         throw new ArgumentNullException("targetForestFQDN");
     }
     this.TargetForestFQDN     = targetForestFQDN;
     this.TargetForestState    = targetForestState;
     this.OrganizationId       = organizationId;
     this.TargetOrganizationId = targetOrganizationId;
 }
Exemplo n.º 16
0
        internal static ADObjectIdWithString ParseDNStringSyntax(string value, Guid partitionGuid, OrganizationId orgId)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }
            string arg;
            string extendedDN;

            ADObjectIdWithString.ParseStringValue(value, out arg, out extendedDN);
            ADObjectId adobjectId = ADObjectId.ParseExtendedDN(extendedDN, partitionGuid, orgId);

            ExTraceGlobals.ADObjectTracer.TraceDebug <string>(0L, "ADObjectIdWithString.ParseDNStringSyntax - Initialized with string part {0}", arg);
            return(new ADObjectIdWithString(arg, adobjectId));
        }
Exemplo n.º 17
0
 private SharedConfiguration(OrganizationId tinyTenantId, ExchangeConfigurationUnit sharedConfigurationCU)
 {
     this.tinyTenantId          = tinyTenantId;
     this.sharedConfigurationCU = sharedConfigurationCU;
 }
        // Token: 0x06000F93 RID: 3987 RVA: 0x0004A528 File Offset: 0x00048728
        private OwaSegmentationSettings(IConfigurationSession configSession, ADObjectId owaMailboxPolicyId, OrganizationId orgId)
        {
            OwaMailboxPolicy owaMailboxPolicy;

            if ((owaMailboxPolicy = this.GetSettingsFromOwaMailboxPolicy(configSession, owaMailboxPolicyId)) == null && (owaMailboxPolicy = this.GetSettingsFromTenantConfig(orgId)) == null)
            {
                owaMailboxPolicy = (this.GetSettingsFromOwaVirtualDirectory(this.TopologyConfigSession) ?? this.GetDefaultSettings());
            }
            this.owaSegmentationSettings = owaMailboxPolicy;
            this.owaSegmentationSettings.ValidateRead();
        }
Exemplo n.º 19
0
 public void Remove(OrganizationId organizationId)
 {
     this.organizationThrottlingPolicies.Remove(organizationId);
 }