Conversion d’un filtre LDAP en filtre de connexion SharePoint Server 2010

Lorsque vous configurez la synchronisation de profil entre un fournisseur LDAP tel que AD DS et SharePoint Server 2010, vous pouvez vouloir convertir un filtre LDAP existant en filtre de connexion SharePoint. Ce billet de blog contient un exemple de ce type de conversion. Pour des instructions sur la saisie du filtre de connexion à l’aide de l’interface utilisateur SharePoint, voir la section « Définir les filtres d’exclusion d’une connexion de synchronisation » dans la rubrique Configurer la synchronisation de profil.


Les filtres LDAP définissent les objets d’annuaire à inclure. Les filtres de connexion SharePoint définissent les utilisateurs à exclure.


Examinons à présent un filtre LDAP et voyons comment nous pourrions le convertir en filtre de connexion SharePoint 2010. Voici ci-dessous l’exemple de filtre que nous allons utiliser :

  • Search base: DC=cts,DC=contoso,DC=com
  • User filter: (&(objectCategory=Person)(!userAccountControl:1.2.840.113556.1.4.803:=2) (&(!extensionAttribute1=0)(extensionAttribute1=*)(sAMAccountName=*)(memberOf=CN=SharePoint Users,OU=Security,OU=Groups,DC=cts,DC=contoso,DC=com)))

Convertissons à présent le filtre LDAP en une composition d’instructions logiques simples plus faciles à manipuler :

  • A: objectCategory = Person
  • B: userAccountControl:1.2.840.113556.1.4.803:=2
  • C: extensionAttribute1=0
  • D: extentionAttribute1=*
  • E: sAMAccountName=*
  • F: memberOf= CN=SharePoint Users, OU=Security, OU=Groups, DC=cts, DC=contoso,DC=com


Le filtre ci-dessus ressemblerait alors à ceci : A
¬B (¬C D E
F)
représente AND, représente OR et ¬ représente NOT.


Le tableau ci-après montre comment utiliser l’algèbre de Boole.

Filtre LDAP initial

A ¬B (¬C D E F)

Supprimer les parenthèses

A ¬B ¬C D E F

Inverser le filtre pour en faire un filtre d’exclusion

¬ (A ¬B ¬C D E F)

Simplifier à l’aide de la loi de De Morgan

¬A ¬¬B ¬¬C ¬D ¬E ¬F

Supprimer la double négation

¬A B C ¬D ¬E ¬F


Si nous remplaçons A, B, C, D, E, F par les instructions de départ, nous obtenons :

(NOT (objectCategory = Person))
OR (userAccountControl:1.2.840.113556.1.4.803: = 2)
OR (extensionAttribute1 = 0)
OR (NOT (extensionAttribute1 = *))
OR (NOT (sAMAccountName = *))
OR (NOT (memberOf = CN=SharePoint Users,OU=Security,OU=Groups,DC=cts,DC=contoso,DC=com))


Si nous reformulons la syntaxe dans un format accepté par l’interface utilisateur du filtre de connexion SharePoint, nous obtenons :

AND/OR

Attribut

Opérateur

Filtre

OR

objectCategory

n’est pas égal à

Person

OR

userAccountControl

bit égal à

2

OR

extensionAttribute1

est égal à

0

OR

extensionAttribute1

n’est pas présent

 

OR

sAMAccountName

n’est pas présent

 

OR

member

ne contient pas

CN=SharePoint Users, OU=Security, OU=Groups, DC=cts, DC=contoso, DC=com


La première clause du filtre, objectCategory n’est pas égal à Person, est superflue. SharePoint exclut automatiquement les entrées contenant cette clause lorsque vous créez un filtre de connexion pour synchroniser les utilisateurs. Lorsque vous créez le filtre de connexion, utilisez les valeurs des cinq lignes restantes du tableau précédent pour entrer les valeurs dans la section Filtre d’exclusion pour les utilisateurs de la page Modifier les filtres de connexion.


Un grand merci à Oleg Lysyk pour la version originale de ces informations.

 

Ce billet de blog a été traduit de l’anglais. L’article d’origine est disponible à la page Converting an LDAP filter to a SharePoint Server 2010 connection filter.