2012-12-07 11 views
2

J'ai besoin d'informations sur le filtre de recherche LDAP pour extraire l'appartenance à un groupe imbriqué. Fondamentalement, mon idée est de dire par exemple, un utilisateur appartient à 5 groupes [A, B, C, D, E] Puis-je écrire une seule requête de recherche LDAP pour obtenir les groupes de membres à quel groupe [A, B, C] , D, E] peut faire partie de? Et je peux utiliser ce logc récursivement pour récupérer toutes les informations de groupe jusqu'à la racine complète de l'AD?Filtre de recherche LDAP de groupe imbriqué

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

+0

Je peux penser à très peu de situations où cela n'entraînerait pas le retour du répertoire entier. Rechercher un utilisateur, obtenir un groupe, obtenir tous les utilisateurs, obtenir plus de groupes, obtenir plus d'utilisateurs, obtenir plus de groupes. Finalement, appuyez sur un administrateur et obtenir tous les utilisateurs. Avez-vous l'intention de limiter cette récursivité? –

+0

Fondamentalement, je ne suis pas intéressé à obtenir des utilisateurs. Tout ce que je suis intéressé à extraire des informations sur les groupes imbriqués dont un utilisateur fait partie. Donc, si l'utilisateur X fait partie des groupes [A, B, C] et que le groupe A fait partie du groupe D et que le groupe D fait partie de E. Donc, tout intéressé est dans l'extraction des groupes d'utilisateurs [A, B, C, D , E]. –

+0

Salut, Si je prévois de limiter cette récursivité, c'est-à-dire si je dois maintenant limiter seulement certains groupes d'utilisateurs en fonction de la profondeur de niveau, par exemple. C'est-à-dire, maintenant je veux extraire tous les groupes d'utilisateurs pour un utilisateur jusqu'à une profondeur imbriquée spécifiée dites '3' ou '4'. Est-ce que je peux faire cela en utilisant LDAP_RULE_IN_CHAIN? Il cherche actuellement trop de groupes d'utilisateurs et affecte les performances de la boîte –

Répondre

1

Tous les groupes d'un utilisateur est membre d'inclure des groupes emboîtés

À titre d'exemple, pour trouver tous les groupes que « CN = John Smith, DC = MyDomain, DC = NET » est membre, définissez la base au DN du conteneur de groupes; par exemple (OU = groupsOU, DC = MyDomain, DC = NET) et l'étendue à sous-arborescence et utilisez le filtre suivant.

(membre: 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

+1

Salut Jim, je ne peux pas utiliser cela comme le filtre que vous avez mentionné semble fonctionner uniquement pour MS AD et pas pour les serveurs AD génériques. Ma mise en œuvre doit être effectuée pour le serveur LDAP générique –

+0

Oui, cela ne fonctionnera que pour les serveurs Microsoft AD. Ceci est fait à partir d'une règle de correspondance extensible qui devrait être disponible sur le serveur. Microsoft a implémenté la règle de correspondance. Une autre implémentation de serveur LDAP pourrait faire de même. Je montre quelques détails à ce sujet ici. http://ldapwiki.willeke.com/wiki/1.2.840.113556.1.4.1941 – jwilleke

3

groupes ne sont pas quelque chose de défini 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 du support de groupe, 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. dépend entièrement du fournisseur du logiciel d'annuaire. Par exemple, le logiciel Tivoli Directory Server (TDS) d'IBM prend en charge les groupes imbriqués et dynamiques à l'aide de ses propres classes d'objets et attributs propriétaires, qui sont spécialement reconnus par le logiciel et traversent (pour les groupes imbriqués) et expansion (pour les groupes dynamiques). pour obtenir la structure de groupe sont automatiquement effectuées pour le client LDAP. Par exemple, TDS fournit des attributs opérationnels tels que «ibm-allgroups» et «ibm-allmembers» pour aider les clients LDAP à extraire des informations de groupe et d'appartenance dans des groupes imbriqués et dynamiques dans des recherches uniques. Les autres fournisseurs d'annuaires résolvent le même problème différemment. Par conséquent, votre solution varie en fonction du logiciel LDAP que vous utilisez. Vous pouvez concevoir votre application pour prendre en charge plusieurs logiciels de serveur d'annuaire, mais cela dépend de la sophistication que vous souhaitez obtenir avec la prise en charge de groupe dans votre application.