Beispiel #1
0
            internal virtual ADSessionSettings FromOrganizationIdWithoutRbacScopes(ADObjectId rootOrgId, OrganizationId currentOrganizationId, OrganizationId executingUserOrganizationId, bool scopeToExecutingUserOrgId, bool allowRehoming)
            {
                if (rootOrgId == null)
                {
                    throw new ArgumentNullException("rootOrgId");
                }
                if (null == currentOrganizationId)
                {
                    throw new ArgumentNullException("currentOrganizationId");
                }
                if (scopeToExecutingUserOrgId && executingUserOrganizationId == null)
                {
                    throw new ArgumentException("scopeToExecutingUserOrgId + null executingUserOrganizationId");
                }
                if (allowRehoming)
                {
                    currentOrganizationId       = this.RehomeScopingOrganizationIdIfNeeded(currentOrganizationId);
                    executingUserOrganizationId = this.RehomeScopingOrganizationIdIfNeeded(executingUserOrganizationId);
                }
                OrganizationId organizationId = currentOrganizationId;

                if (scopeToExecutingUserOrgId)
                {
                    organizationId = executingUserOrganizationId;
                }
                ScopeSet     orgWideDefaultScopeSet = ScopeSet.GetOrgWideDefaultScopeSet(organizationId);
                ConfigScopes configScopes           = ConfigScopes.TenantLocal;

                return(ADSessionSettings.SessionSettingsFactory.CreateADSessionSettings(orgWideDefaultScopeSet, rootOrgId, currentOrganizationId, executingUserOrganizationId, configScopes, (currentOrganizationId.PartitionId != null) ? currentOrganizationId.PartitionId : (Globals.IsMicrosoftHostedOnly ? rootOrgId.GetPartitionId() : null)));
            }
Beispiel #2
0
 // Token: 0x0600108D RID: 4237 RVA: 0x0004FC84 File Offset: 0x0004DE84
 internal static ScopeSet ResolveUnderScope(OrganizationId organizationId, ScopeSet scopeSet, bool checkOrgScope)
 {
     if (organizationId == null)
     {
         throw new ArgumentNullException("organizationId");
     }
     if (organizationId.OrganizationalUnit == null || organizationId.ConfigurationUnit == null)
     {
         throw new ArgumentException("Invalid under scope organization provided");
     }
     if (scopeSet == null)
     {
         return(ScopeSet.GetOrgWideDefaultScopeSet(organizationId));
     }
     if (checkOrgScope)
     {
         if (scopeSet.RecipientReadScope.Root != null && !organizationId.OrganizationalUnit.IsDescendantOf(scopeSet.RecipientReadScope.Root))
         {
             throw new ADScopeException(DirectoryStrings.ExceptionOrgScopeNotInUserScope(organizationId.OrganizationalUnit.ToString(), scopeSet.RecipientReadScope.Root.ToString()), null);
         }
         if (scopeSet.ConfigReadScope.Root != null && !organizationId.ConfigurationUnit.Parent.IsDescendantOf(scopeSet.ConfigReadScope.Root.Parent))
         {
             throw new ADScopeException(DirectoryStrings.ExceptionOrgScopeNotInUserScope(organizationId.ConfigurationUnit.Parent.ToString(), scopeSet.ConfigReadScope.Root.Parent.ToString()), null);
         }
     }
     return(new ScopeSet(new ADScope(organizationId.OrganizationalUnit, (scopeSet.RecipientReadScope != null) ? scopeSet.RecipientReadScope.Filter : null), scopeSet.RecipientWriteScopes, scopeSet.exclusiveRecipientScopes, new ADScope(organizationId.ConfigurationUnit, (scopeSet.ConfigReadScope != null) ? scopeSet.ConfigReadScope.Filter : null), new ADScope(organizationId.ConfigurationUnit, (scopeSet.configWriteScope != null) ? scopeSet.configWriteScope.Filter : null), scopeSet.objectSpecificConfigWriteScopes, scopeSet.objectSpecificExclusiveConfigWriteScopes, scopeSet.validationRules));
 }
Beispiel #3
0
            internal ADSessionSettings FromOrganizationIdWithAddressListScope(ADObjectId rootOrgId, OrganizationId scopingOrganizationId, ADObjectId scopingAddressListId, OrganizationId executingUserOrganizationId)
            {
                ArgumentValidator.ThrowIfNull("scopingAddressListId", scopingAddressListId);
                QueryFilter recipientReadFilter = new AndFilter(new QueryFilter[]
                {
                    new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.AddressListMembership, scopingAddressListId),
                    new ExistsFilter(ADRecipientSchema.DisplayName)
                });

                return(this.FromCustomScopeSet(ScopeSet.GetOrgWideDefaultScopeSet(scopingOrganizationId, recipientReadFilter), rootOrgId, scopingOrganizationId, executingUserOrganizationId, true));
            }
Beispiel #4
0
 internal virtual ADSessionSettings FromOrganizationIdWithoutRbacScopesServiceOnly(OrganizationId scopingOrganizationId, bool allowRehoming)
 {
     if (allowRehoming)
     {
         scopingOrganizationId = this.RehomeScopingOrganizationIdIfNeeded(scopingOrganizationId);
     }
     return(ADSessionSettings.SessionSettingsFactory.CreateADSessionSettings(ScopeSet.GetOrgWideDefaultScopeSet(scopingOrganizationId, null), null, scopingOrganizationId, null, ConfigScopes.TenantLocal, scopingOrganizationId.PartitionId));
 }
Beispiel #5
0
            internal virtual ADSessionSettings FromOrganizationIdWithAddressListScopeServiceOnly(OrganizationId scopingOrganizationId, ADObjectId scopingAddressListId)
            {
                QueryFilter recipientReadFilter;

                if (scopingAddressListId == null)
                {
                    recipientReadFilter = ADScope.NoObjectFilter;
                }
                else
                {
                    recipientReadFilter = new AndFilter(new QueryFilter[]
                    {
                        new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.AddressListMembership, scopingAddressListId),
                        new ExistsFilter(ADRecipientSchema.DisplayName)
                    });
                }
                return(ADSessionSettings.SessionSettingsFactory.CreateADSessionSettings(ScopeSet.GetOrgWideDefaultScopeSet(scopingOrganizationId, recipientReadFilter), null, scopingOrganizationId, null, ConfigScopes.TenantLocal, scopingOrganizationId.PartitionId));
            }
Beispiel #6
0
 // Token: 0x06001089 RID: 4233 RVA: 0x0004FBB2 File Offset: 0x0004DDB2
 internal static ScopeSet GetOrgWideDefaultScopeSet(OrganizationId organizationId)
 {
     return(ScopeSet.GetOrgWideDefaultScopeSet(organizationId, null));
 }