OVH Cloud OVH Cloud

NOVICE : parcourir un repertoire LDAP

2 réponses
Avatar
Frederes
Bonjour,

Je voudrais parcourir l'arborescence(avec fonctions LDAP php )d'un serveur
ILS (ils.flashnet.it)
Comment faire ?

Je connais a priori rien de ce serveur ILS et je voudrais lister ses
répertoires, comment faire ?
Faut-il connaitre l'arboresence ?

J'arrive a m'y connecter en anonyme mais après je sais pas ce qu'il faut
mettre dans le "DN" comme il disent...
d'ailleur c'est koi la synthaxe d'un DN ?
Voici un exemple que j'ai trouvé :

$dn = "o=Ma Compagnie, c=FR"; // <= C KOI ?
$filter="(|(sn=$person*)(givenname=$person*))"; <= C KOI
$justthese = array( "ou", "sn", "givenname", "mail");

$sr=ldap_search($ds, $dn, $filter, $justthese);




Merci

(j'espère être clair...)

Cordialement,

Fred

2 réponses

Avatar
charly
Salut,

Pour LDAP, tu devrais AMHA te renseigner sur les concepts concernés
avant de d'utiliser PHP pour y accèder : si tu sais pas comment parle un
serveur LDAP, comment veux-tu demander à PHP de parler à LDAP :) (enfin,
c'est juste un avis) -> Google + HowTO + LDAP

Sinon, pour répondre partiellement à ta question :
le DN : Noeud de départ de la recherche
filter : chaque noeud LDAP (XML en fait) comporte des attributs :
givenname, sn, classobject etc : ton filtre dit donc les gens dont le sn
== commence par $person et suivi d'un nombre quelconque de caractères
(à vérifier sur le joker "*") ou (c'est le |) givenname commence par
$person et suivi d'un nombre quelconque de caractères .

enfin, le tableau $justthese : j'ai trouvé des objets correspondant aux
critères mais je ne veux pas tous leurs attributs : juste le "ou", le
"sn" le "givename" et le "mail".

Tu es très clair et j'espère que moi aussi mais documente toi un petit
peu sur LDAP avant de t'y attaquer.

Charly
Avatar
ludo
Frederes wrote:
Bonjour,

Je voudrais parcourir l'arborescence(avec fonctions LDAP php )d'un serveur
ILS (ils.flashnet.it)
Comment faire ?

Je connais a priori rien de ce serveur ILS et je voudrais lister ses
répertoires, comment faire ?
Faut-il connaitre l'arboresence ?
oui


J'arrive a m'y connecter en anonyme mais après je sais pas ce qu'il faut
mettre dans le "DN" comme il disent...
d'ailleur c'est koi la synthaxe d'un DN ?
Voici un exemple que j'ai trouvé :

$dn = "o=Ma Compagnie, c=FR"; // <= C KOI ?
LE DN contient l'arborescence de la compagnie et en general c'est plutot

difficile à savoir comment l'arborescence est faite sans demander à
l'administrateur.
il est composé :
de branche .
exemple :

c=fr-|
|
|_o=ert|
|
|_ou=a-|_dn=durand jean pierre
| |_dn=dupont jean marie
| |_dnÚniel francois
|
|_ou=b-|_dn=...

ca peut être très compliqué ...

$filter="(|(sn=$person*)(givenname=$person*))"; <= C KOI
Le filtre permet de faire une selection dans tout les entrées du ldap,

par exemple ici avec nom et prenom de la personne commencant par $person
| correspont à un ou logique
& correspond à un et logique

$justthese = array( "ou", "sn", "givenname", "mail");
Ici on demande les champs des entrées sélectionnées .

ici unité organisationnelle, nom , prénom, mail

$sr=ldap_search($ds, $dn, $filter, $justthese);
c'est la commande qui lance la recherche avec les differents paramètres

indiqués




Merci

(j'espère être clair...)

Cordialement,

Fred