2 votes

Filtre de recherche LDAP sur les groupes imbriqués

J'ai besoin d'informations concernant le filtre de recherche LDAP pour extraire l'appartenance à un groupe imbriqué. En gros, mon idée est la suivante : par exemple, un utilisateur appartient à 5 groupes [A, B, C, D, E]. Est-ce que je peux écrire une seule requête LDAP pour obtenir les groupes membres dont le groupe [A, B, C, D, E] peut faire partie ? Et je peux utiliser cette requête de manière récursive pour récupérer toutes les informations sur les groupes jusqu'à la racine complète de l'AD ?

Et j'ai besoin de cette solution pour AD générique, donc je ne peux pas utiliser le filtre LDAP_RULE_IN_CHAIN qui ne fonctionne que pour MS AD.

4voto

user5722540 Points 111

Les groupes ne sont pas définis dans la norme LDAP. En ce qui concerne LDAP, les entrées de groupe ne sont que des entrées LDAP, rien de plus. La mise en œuvre de la prise en charge des groupes, y compris la manière dont les structures de données telles que les groupes imbriqués et dynamiques sont gérées, interrogées, vérifiées, etc. est totalement laissée à l'appréciation du fournisseur du logiciel d'annuaire. Par exemple, le logiciel Security Directory Server (SDS) d'IBM prend en charge les groupes imbriqués et dynamiques grâce à ses propres classes d'objets et attributs propriétaires, qui sont spécialement reconnus par le logiciel, et la traversée (pour les groupes imbriqués) et l'expansion (pour les groupes dynamiques) pour vérifier l'appartenance ou pour obtenir la structure du groupe sont automatiquement effectuées pour le client LDAP. Par exemple, SDS fournit des attributs opérationnels tels que ibm-allgroups y ibm-allmembers pour aider les clients LDAP à extraire les informations sur les groupes et les membres des groupes imbriqués et dynamiques en une seule recherche. D'autres fournisseurs d'annuaires résolvent le même problème différemment. Par conséquent, votre solution variera en fonction du logiciel LDAP que vous utilisez. Vous pouvez concevoir votre application de manière à ce qu'elle prenne en charge plusieurs logiciels de serveurs d'annuaire, mais cela dépend du degré de sophistication que vous souhaitez atteindre avec la prise en charge des groupes dans votre application.

1voto

jeemster Points 2578

Tous les groupes dont l'utilisateur est membre, y compris les groupes imbriqués

Par exemple, pour trouver tous les groupes dont "CN=John Smith,DC=MyDomain,DC=NET" est membre, définissez la base sur le DN du conteneur de groupes, par exemple (OU=groupsOU,DC=MyDomain,DC=NET) et la portée sur subtree, et utilisez le filtre suivant.

(member:1.2.840.113556.1.4.1941:=(CN=John Smith,DC=MyDomain,DC=NET))

Où CN=John Smith,DC=MyDomain,DC=NET est le FDN de l'utilisateur et la règle de correspondance extensible 1.2.840.113556.1.4.1941.

-jim

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X