2016-10-25 1 views
0

J'essaie d'écrire un filtre de recherche qui renvoie les résultats d'un sous-arbre, seulement si l'arbre parent répond à certaines conditions ... est-ce possible?Ldap Requête pour renvoyer l'arborescence secondaire uniquement si la condition parente est vraie

J'ai la structure suivante:

ou=ftp 
    domainName=example.com 
     ou=users 
      uid=firstUser 
      uid=secondUser 
    domainName=otherdomain.com 
     ou=users 
      uid=othertUser 
      uid=otherdUser 

Dans domainName = example.com J'ai un attribuiez accountstatus qui peut être "actif" ou "inactif".

Je souhaite renvoyer les utilisateurs uniquement si compteStatus est "actif".

I essayé de faire un filtre composite comme suit:

(&(&(objectclass=mailDomain)(accountStatus=active))(&(uid=*)(objectclass=posixAccount))) 

objectclass = MailDomain et accountstatus = actif appartient à l'arbre parent. La requête ne renvoie aucun résultat, car elle recherche tous les attributs au même niveau.

Nous vous remercions de votre aide.

Répondre

0

Bien que vous puissiez configurer l'espace de recherche pour qu'il s'agisse d'un sous-arbre, d'une liste ou même d'une seule entrée, un filtre de recherche est toujours appliqué à chaque entrée du jeu de résultats. Cela influence généralement la conception de l'arborescence de l'annuaire, ainsi que le schéma.

Éloignez-vous de la "normalisation" et mettez les attributs à la disposition de l'utilisateur au lieu d'un nœud parent. Vous augmentez ainsi considérablement la valeur globale de votre répertoire, ce qui permet aux clients LDAP simples de tirer parti des informations de votre répertoire.