11.9.7. Autorisation et Chargement de groupes avec LDAP
Important
username-to-dn
username-to-dn indique comment elle est définie. Cet élément est uniquement nécessaire si ce qui suit est true :
- L'étape d'authentification n'a pas eu lieu avec LDAP.
- La recherche de groupe utilise le nom unique pendant la recherche.
- 1:1 username-to-dn
- Il s'agit de la forme de configuration de base et elle est utilisée pour spécifier que le nom d'utilisateur saisi par l'utilisateur éloigné est en fait le nom unique de l'utilisateur.
<username-to-dn> <username-is-dn /> </username-to-dn>
<username-to-dn> <username-is-dn /> </username-to-dn>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Comme cela définit un mappage 1:1, il n'y a pas de configuration supplémentaire possible. - username-filter
- La prochaine option est très semblable à la simple option décrite ci-dessus dans l'étape d'authentification. Tout simplement, un attribut est spécifié et on recherche une correspondance avec le nom d'utilisateur fourni.
<username-to-dn> <username-filter base-dn="dc=people,dc=harold,dc=example,dc=com" recursive="false" attribute="sn" user-dn-attribute="dn" /> </username-to-dn><username-to-dn> <username-filter base-dn="dc=people,dc=harold,dc=example,dc=com" recursive="false" attribute="sn" user-dn-attribute="dn" /> </username-to-dn>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Les attributs qui peuvent être définis sont les suivants :base-dn: le nom unique du contexte pour commencer la recherche.recursive: indique si la recherche va s'étendre à des sous-contextes. La valeur par défaut estfalse.attribute: l'attribut de l'entrée de l'utilisateur à faire correspondre avec le nom d'utilisateur fourni. La valeur par défaut estuid.user-dn-attribute: l'attribut à lire pour obtenir les noms uniques d'utilisateurs. La valeur par défaut estdn.
- advanced-filter
- L'option finale est de spécifier un filtre avancé. Comme dans la section authentification, c'est l'opportunité d'utiliser un filtre personnalisé pour trouver le nom unique de l'utilisateur.
<username-to-dn> <advanced-filter base-dn="dc=people,dc=harold,dc=example,dc=com" recursive="false" filter="sAMAccountName={0}" user-dn-attribute="dn" /> </username-to-dn><username-to-dn> <advanced-filter base-dn="dc=people,dc=harold,dc=example,dc=com" recursive="false" filter="sAMAccountName={0}" user-dn-attribute="dn" /> </username-to-dn>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour les attributs qui correspondent à celles du username-filter, le sens et les valeurs par défaut sont les mêmes, donc je ne vais pas les énumérer ici et cela laisse un nouvel attribut :filter: filtre personnalisé utilisé pour chercher une entrée d'utilisateur quand le nom d'utilisateur est substitué dans l'espace réservé{0}
Important
Le code XML doit rester valide une fois que le filtre est défini donc si des caractères spéciaux comme&sont utilisés, assurez-vous que la forme qui convient soit utilisée. Par exemple& amp ;pour le caractère&.
La recherche Groupe
Exemple 11.1. Principal à Groupe - Exemple LDIF
TestUserOne, qui est membre de GroupOne, GroupOne est alors à son tour membre de GroupFive. L'appartenance au groupe est démontrée par l'utilisation d'un attribut memberOf qui est défini sur le nom unique du groupe dont l'utilisateur est membre.
memberOf définis, un pour chaque groupe dont l'utilisateur est un membre direct.
Exemple 11.2. Groupe à Principal - Exemple LDIF
TestUserOne qui est un membre de GroupOne, qui est à son tour membre de GroupFive - cependant dans ce cas, c'est un attribut uniqueMember du groupe à l'utilisateur utilisé pour la référence croisée.
Recherche de groupe standard
<group-search group-name="..." iterative="..." group-dn-attribute="..." group-name-attribute="..." >
...
</group-search>
<group-search group-name="..." iterative="..." group-dn-attribute="..." group-name-attribute="..." >
...
</group-search>
group-name: cet attribut est utilisé pour indiquer le formulaire qui doit être utilisé pour le nom de groupe retourné comme liste de groupes dont l'utilisateur est membre, cela peut être sous la simple forme de nom du groupe ou le nom unique du groupe, si le nom unique est nécessaire, cet attribut peut être défini àDISTINGUISHED_NAME. Valeur par défautSIMPLE.itérative: cet attribut est utilisé pour indiquer si après avoir identifié les groupes qui appartiennent à un utilisateur, on doit rechercher également de manière itérative basée sur les groupes afin d'identifier quels groupes appartiennent à quels groupes. Si la recherche itérative est activée, nous continuons jusqu'à ce que nous rejoignions un groupe qui ne soit pas membre si aucun autre groupe ou cycle est détecté. Par défaut,false.
Important
group-dn-attribute: sur une entrée pour un groupe dont l'attribut est son nom unique. La valeur par défaut estdn.group-name-attribute: sur une entrée pour un groupe dont l'attribut est son simple nom. La valeur par défautuid.
Exemple 11.3. Configuration d'exemple de Principal à Groupe
memberOf de l'utilisateur.
principal-to-group a été ajouté avec un seul attribut.
group-attribute: le nom de l'attribut sur l'entrée d'utilisateur qui correspond au nom unique du groupe qui appartient à l'utilisateur. La valeur par défautmemberOf.
Exemple 11.4. Configuration d'exemple de Groupe à Principal
group-to-principal est ajouté ici. Cet élément est utilisé pour définir comment les recherches de groupes qui référencent l'entrée de l'utilisateur seront exécutées. Les attributs suivants sont définis :
base-dn: le nom unique du contexte à utiliser pour commencer la recherche.recursive: indique si les sous-contextes peuvent également être recherchés. La valeur par défaut estfalse.search-by: Le forme du nom de rôle utilisé dans les recherches. Valeurs validesSIMPLEetDISTINGUISHED_NAME. Valeur par défautDISTINGUISHED_NAME.
principal-attribute: le nom de l'attribut d'entrée de groupe qui référence l'entrée utilisateur. La valeur par défaut estmember.