2010-11-04 6 views
3

C'est probablement assez stupide, mais je suis toujours vert à LDAP. J'espère que quelqu'un pourra me prêter main-forte. J'utilise Apache Directory Studio pour faire mes recherches et je suis confus quant au moment où je devrais utiliser un filtre ou quand je devrais séparer mon filtre en deux, en utilisant une partie comme filtre et l'autre comme ma recherche base.Syntaxe/sémantique LDAP: Filtre vs. DN de base?

Voici un exemple où j'essaie de filtrer un groupe.

Filter: CN=JohnTestGroup,OU=TECH,DC=lab,DC=ing 
Base: DC=lab,DC=ing 

Ceci a donné zéro résultat. J'ai réalisé que peut-être je suis redondant car une partie de la base est dans le filtre, donc je me suis débarrassé de cette partie dans le filtre.

Filter: CN=JohnTestGroup,OU=TECH 
Base: DC=lab,DC=ing 

Ceci n'a toujours rien donné. J'ai donc essayé ceci:

Filter: CN=JohnTestGroup 
Base: OU=TECH,DC=lab,DC=ing 

je me suis déplacé le paramètre OU dans le Base. Cela a fonctionné, mais je ne comprends pas pourquoi la première ou la deuxième tentative n'a pas fonctionné. Quelqu'un veut-il me laisser des connaissances? Ceci est probablement une question de syntaxe/sémantique, donc si quelqu'un pouvait me diriger vers une ressource, je serais plus que disposé à en lire plus à ce sujet.

+0

Qu'est-ce que vous donnez comme champ d'application? –

+0

Portée étant ... mon DN Bind? – John

Répondre

1

Je pense que vous comprenez mal comment le filtre fonctionne. Il s'agit d'appariements clé = valeur.

Donc (objectClass = iNetOrgPerson) à titre d'exemple. Si vous souhaitez un filtre pour trouver un DN, alors vous choisissez une caractéristique d'identification comme CN, et filtrez (CN = JohnTestGroup) ou peut-être ([email protected]).

La base indique au serveur LDAP où commencer à chercher, comme seriyPS note dans sa réponse, la PORTÉE est la question suivante. À quelle profondeur le serveur devrait-il effectuer une recherche, ce qui ajoute des problèmes de surcharge et de performance. Subtree est simpliste conceptuellement. Continuez à regarder d'ici en bas, jusqu'à ce que vous tombiez à court d'arbre pour regarder à travers.

C'est pourquoi votre dernier fonctionne. Maintenant, si vous voulez trouver un objet spécifique et que vous connaissez son nom distinctif, vous effectuez une requête d'entrée ENTRY pour la base du DN spécifique.

+0

Merci! Vos ajouts récents m'ont beaucoup aidé à comprendre, surtout la dernière phrase. Cela m'a conduit à chercher "ldap search by dn" sur Google et je suis tombé sur ceci: http://www.openldap.org/lists/openldap-software/200503/msg00519.html, qui a vraiment consolidé ce que vous vouliez dire votre dernière phrase. – John

+0

@John Nous visons à s'il vous plaît. (Au moins lors de l'utilisation du pot ...) – geoffc

Questions connexes