je viens de rencontrer dans ce il y a deux semaines: Query all the users in a system with LDAP
Il est pas un problème ActiveLDAP par exemple.
Voici la chose, et j'espère que vous économiserez du temps. avec votre schéma ldap, tel quel, ce que vous avez est un dn unique pour chaque utilisateur. Donc, en effet, si vous avez 100 000 utilisateurs, vous avez 100 000 dossiers, chacun identifié au niveau supérieur comme unique par ID. si votre schéma a été configuré comme ceci:
dn: category=active,ou=People,o=org
uid: uid1
uid: nick1
alors vous pouvez interroger tous les utilisateurs actifs pour uid se chevauchent parce que le filtre ne filtre vers le bas pour les utilisateurs actifs et sélectionnez que les utilisateurs avec des attributs uid de x. Comme c'est le cas, vous ne pouvez obtenir qu'au niveau supérieur dn, donc chaque filtre va filtrer un utilisateur, donc c'est inutile. Ce que j'ai fait, c'est interroger ma sauvegarde flatfile de la base de données ldap et extraire les informations de cette façon. J'ai utilisé ruby de base et juste divisé les enregistrements sur les nouvelles lignes, et fait un grand tableau, si je me souviens bien. Nous avions environ 130 000 enregistrements et avons pu obtenir ma requête en environ 2 secondes à partir du fichier plat.
Non, j'ai la petite base de données ici (~ 900 entrées LDAP) et Ruby-LDAP renvoie les bons résultats, donc c'est un problème avec ActiveLdap seulement. Il semble dépouiller l'attribut RDN du tableau d'attributs ne laissant qu'une seule valeur (qui est prise à partir de DN) donc je me demande s'il y a moyen d'empêcher ActiveLdap de le faire. – timurb