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

cciiia 12 Messages postés mercredi 24 novembre 2004Date d'inscription 3 mars 2006 Dernière intervention - 20 janv. 2006 à 17:06 - Dernière réponse : tntn078 1 Messages postés lundi 4 février 2008Date d'inscription 4 février 2008 Dernière intervention
- 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
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 20 janv. 2006 à 17:49
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.

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 119 internautes ce mois-ci

Commenter la réponse de malalam
Meilleure réponse
cciiia 12 Messages postés mercredi 24 novembre 2004Date d'inscription 3 mars 2006 Dernière intervention - 23 janv. 2006 à 12:14
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];

Merci cciiia 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 119 internautes ce mois-ci

Commenter la réponse de cciiia
tntn078 1 Messages postés lundi 4 février 2008Date d'inscription 4 février 2008 Dernière intervention - 4 févr. 2008 à 17:51
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.