Rechercher dans les attributs d'Active Directory via LDAP [Résolu]

Messages postés
12
Date d'inscription
mercredi 24 novembre 2004
Dernière intervention
3 mars 2006
- - Dernière réponse : tntn078
Messages postés
1
Date d'inscription
lundi 4 février 2008
Dernière intervention
4 février 2008
- 4 févr. 2008 à 17:51
Bonjour à tous!

Je suis en train de développer un site intranet qui, pour l'authentification et donc l'accès à la partie administration, doit se baser sur un Active Directory. J'arrive à me connecter, à chercher et trouver un objet dans l'Active Directory sans problème.
Je voudrais savoir si quelqu'un sait s'il est possible de rechercher directement dans les attributs des objets (par exemple, le "samaccountname" d'un User) sans passer au préalable par un "DN" donné.
Exemple : je cherche le samaccountname "toto" dans mon Active Directory, sans connaître le "DN" de l'User possèdant ce samaccountname.

J'attends vos réponses. Peut-être que c'est impossible, mais ça vaut le coup de demander .
Cordialement,
-=KRAPUL=-
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
31
3
Merci
hello,

ça n'a pas grand rapport avec php ça...
C'est une requête LDAP à trouver, c'est tout.
Ma foi...essaye ;-) Cherche sur google le dialecte LDAP, et regarde quelles requêtes peuvent être faites pour te donner le résultat attendu.
Perso, je ne me souviens plus.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 90 internautes nous ont dit merci ce mois-ci

Commenter la réponse de malalam
Messages postés
12
Date d'inscription
mercredi 24 novembre 2004
Dernière intervention
3 mars 2006
3
Merci
Salut,


Voilà après plusieurs heures de recherche j'ai enfin trouvé le code qu'il me fallait...


J'ai accepté ta réponse "malalam" (même si ce n'est pas toi qui m'a apporté la solution) car cela pourra aider quelqu'un qui cherche à faire la même chose que moi!

@+

-=KRAPUL=-

Le code correspondant :

$ldap_server="adresse.ip.du.serveur";
$log="login_de_la personne";
$mylog = "monlogin";//Pour binder le serveur...
$mypass = "monmotdepasse";//Pour binder le serveur...


// Donner le DN de base pour la recherche.
$base_dn = "DC=exemple, DC=fr";


// Montrer seulement les personnes.
$filter = "(&(objectClass=user)(samaccountname=".$log.")(cn=*))";


// Se connecter au serveur
if (!([mailto:$connect=@ldap_connect($ldap_server $connect=@ldap_connect($ldap_server]))) {
die("Impossible de se connecter au serveur!");
}


// Binder le serveur
if (!([mailto:$bind=@ldap_bind($connect,$mylog,$mypass $bind=@ldap_bind($connect,$mylog,$mypass]))) {
die("Impossible de binder le serveur!");
}


// Cherche dans l'active directory
if (!([mailto:$search=@ldap_search($connect $search=@ldap_search($connect], $base_dn, $filter))) {
die("Impossible de chercher sur le serveur!");
}


//Compter les entrées retournées par la recherche
$number_returned = ldap_count_entries($connect,$search);
//Récupérer les entrées
$info = ldap_get_entries($connect, $search);


//Affichage du résultat
for ($i=0; $i<$info["count"]; $i++) {
@$nom = @$info[$i]["name"][0];
}
echo "Le login '"[mailto:.@$log."' .@$log."'] désigne "[mailto:.@$nom .@$nom];

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 90 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cciiia
Messages postés
1
Date d'inscription
lundi 4 février 2008
Dernière intervention
4 février 2008
0
Merci
bonjour cciiia,

je suis en train de faire la même chose que toi, à la différence près que je ne reçois aucun résultat, alors que je devrais en avoir : ldap_count_entries ($connect, $search); me retourne 0

j'ai tout essayé, rien à faire, je ne comprends pas

si qq1 a une idée ...

d'avance merci

M
Commenter la réponse de tntn078

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.