Problem
Every time I have used AD for providing access to Sitecore, the active directory (AD) structure is crazy and recently I had a customer that had over 18000 roles, which made it difficult to assign roles and it killed the performance of the Sitecore client, as each user had at least 500 roles. Therefore Sitecore to evaluate the combination of a lot of roles to determine if they had read access or not.
I talked to the department responsible for the AD setup about changing and or creating a folder that only contained the Sitecore related roles, but this was not possible.
Initially I thought I would have to make own LDAP provider which derives from the standard provider, but I discovered this was not necessary as the LDAP module provides the functionality as standard.
Custom Filters
Custom Filter provide the ability to filter the roles and or users returned from the AD (see section 4.1 for full documentation).The custom filter uses the standard LDAP query syntax (see MSDN) to specify how the user or roles are filtered.
The following example ensures only roles, which contain Sitecore and or the special operations role; are imported into Sitecore. The Custom
According to Sitecore documentation, both the User and Role provider must have the same CustomFilter, and that is why the (objectCategory=person) is added so all users are also imported regardless of their name.
I hope this blog post will help others using LDAP to control what roles or users are shown within sitecore.
Pingback: Using an Azure Active Directory Domain as a source for Sitecore content authors | Blogging on Digital
Thanks Alan! I have been looking for a custom filter for roles not having to load all 21000 other irrelevant roles from our AD!