13.4 Filtre de recherche de concordance extensible

Les spécifications du noyau du protocole LDAP 3 définies dans le document RFC 2251 imposent aux serveurs LDAP de reconnaître un élément de recherche appelé « filtre de correspondance extensible ». La concordance extensible permet à un client LDAP de définir les éléments suivants dans un filtre de recherche :

  • Un nom d'attribut facultatif

  • une règle de concordance facultative ;

  • un drapeau servant à préciser si les attributs DN doivent être considérés comme faisant partie de l'entrée ;

  • La valeur à utiliser pour la concordance

Vous trouverez ci-dessous la représentation sous forme de chaîne du filtre de recherche de concordance extensible :

extensible = attr [":dn"] [":" matchingrule] ":=" value /
             [:dn"] ":" matchingrule ":=" value

Le tableau ci-dessous liste les paramètres du filtre de recherche de concordance extensible :

Paramètre

Description

attr

Définit l'attribut sur lequel établir la concordance.

[":dn"]

Indique que la règle de concordance doit être incluse dans la comparaison.

[":" règle_concordance]

Désigne la règle de concordance à utiliser.

":="

En l'absence de règle de concordance, entraîne une égalité.

value

Valeur de comparaison

extensibleMatch est un nouveau filtre fourni par LDAP 3. En l'absence du champ matchingRule, le champ d'attribut DOIT être présent, et la recherche d'égalité est effectuée pour cet attribut. Si le champ d'attribut est absent et la règle matchingRule présente, la valeur matchValue est comparée à tous les attributs d'une entrée qui prennent en charge cette règle, et cette dernière détermine la syntaxe de la valeur d'assertion.

Le résultat de l'élément de filtre :

  • est TRUE (vrai) s'il correspond à au moins un attribut de l'entrée.

  • est FALSE (faux) s'il ne correspond à aucun attribut de l'entrée.

  • n'est pas défini si matchingRule n'est pas reconnue ou si assertionValue ne peut être analysée.

Si le champ de type et la règle matchingRule sont présents, matchingRule DOIT être une règle autorisée pour ce type. Dans le cas contraire, l'élément de filtre est indéfini. Si le :dn est spécifié dans le filtre de recherche, la concordance est effectuée pour tous les attributs du nom distinctif d'une entrée, et renvoie également TRUE (vrai) s'il existe au moins un attribut de nom distinctif pour lequel l'élément de filtre donne la valeur TRUE (vrai). Le champ dnAttributes est présent afin d'éviter de faire appel à plusieurs versions des règles de concordance génériques, par exemple pour la correspondance de mots, l'une s'appliquant aux entrées et l'autre aux entrées et aux attributs DN.

Pour l'essentiel, un filtre de concordance extensible permet à un client LDAP d'atteindre deux objectifs :

  • Prendre en charge plusieurs règles de concordance pour le même type de données

  • Inclure des éléments DN dans les critères de recherche

    La spécification de DN permet la recherche de concordance sur certains éléments du DN.

Les versions eDirectory 8.7.3 et ultérieures prennent en charge le filtre de concordance extensible pour la mise en correspondance des attributs DN. Les autres éléments du filtre de recherche de concordance extensible, notamment la règle de concordance, sont traités comme indéfinis et ignorés. La recherche de concordance sur le DN permet à un client LDAP de réduire considérablement les recherches nécessaires pour localiser un objet dans une arborescence eDirectory. Par exemple, un filtre de recherche LDAP complexe, tel que

(&(ou:dn:=sales)(objectclass=user))

permet d'obtenir la liste de tous les objets Utilisateur appartenant à la fonction Ventes (c'est-à-dire situés n'importe où sous les conteneurs Ventes).

Exemples d'utilisation

Voici plusieurs exemples de représentations sous forme de chaîne du filtre de recherche de concordance extensible prises en charge dans eDirectory 8.7.3 et versions ultérieures.

(o:dn:=Ace Industry)

Cet exemple illustre l'utilisation de la notation :dn. Les attributs du nom distinctif d'une entrée doivent être considérés comme faisant partie de l'entrée lors de l'évaluation de la concordance. Dans cet exemple, le type de concordance est l'égalité.

(:dn:2.4.8.10:=Dino)

Cet exemple présente un filtre qui doit être appliqué à n'importe quel attribut d'une entrée. Les attributs contenus dans le DN et auxquels la règle de concordance 2.4.8.10 s'applique doivent également être pris en compte.

Voici quelques exemples de représentations sous forme de chaîne du filtre de recherche de concordance extensible non prises en charge dans eDirectory 8.7.3 et versions ultérieures :

(cn:1.2.3.4.5:=John Smith)

Cet exemple présente un filtre qui indique le type d'attribut cn et la valeur John Smith. Il implique que le serveur d'annuaire établit la correspondance en fonction de la règle de concordance identifiée par l'oid 1.2.3.4.5.

(sn:dn:2.4.6.8.10:=Barbara Jones)

Cet exemple illustre l'utilisation de la notation :dn pour indiquer que la règle de concordance 2.4.6.8.10 doit être utilisée lors des comparaisons et que les attributs du nom distinctif d'une entrée doivent être considérés comme faisant partie de cette dernière lors de l'évaluation de la correspondance.