Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3199 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  LDAP et vérification du login/pass

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

LDAP et vérification du login/pass

n°1456129
Surfoo
Ça va ? ok.
Posté le 12-10-2006 à 15:24:11  profilanswer
 

Bonjour,
 
Je suis sur un dev qui nécessite la vérification d'un login/password sur Active directory (Windows 2000 SP4).
 
Je me connecte en administrateur sur le AD, je fais une recherche d'utilisateur sur "samaccountname" et s'il est trouvé c'est bon.
Mais le problème c'est pour le mot de passe, comment vérifier qu'il est identique à celui du formulaire ? Je ne sais pas trop là...
 
Voilà une page de test pour voir si tout fonctionne, ça pourrais certainement vous aider

Code :
  1. <?php
  2. //serveur (Directory Context)
  3. $ldap['DC'][0]   = "serveur";
  4. $ldap['DC'][1]   = "toto";
  5. $ldap['DC'][2]   = "fr";
  6. //identifiant / mot de passe du formulaire d'identification
  7. $_POST['login'] = "baptiste";
  8. $_POST['password'] = "";
  9. //Identifiant
  10. $ldap['login']    = $_POST['login']."@".$ldap['DC'][0].".".$ldap['DC'][1].".".$ldap['DC'][2];
  11. $ldap['loginAdmin']   = "administrateur";
  12. $ldap['passwordAdmin'] = "password";
  13. $ldap['dn']       = "CN=".$ldap['loginAdmin'].",CN=Users,DC=".$ldap['DC'][0].",DC=".$ldap['DC'][1].",DC=".$ldap['DC'][2];
  14. //Connexion au serveur LDAP
  15. if($ds = ldap_connect($ldap['DC'][0].".".$ldap['DC'][1].".".$ldap['DC'][2])) {
  16. //Connexion admin
  17. if (ldap_bind($ds, $ldap['dn'], $ldap['passwordAdmin'])) {
  18.  echo "Connexion LDAP ".$ds." réussie (".$ldap['loginAdmin']."/".$ldap['passwordAdmin']." ) sur ".$ldap['DC'][0].".".$ldap['DC'][1].".".$ldap['DC'][2]."<br>";
  19.  // Liste des personnes commençant
  20.  $sr = ldap_search ($ds, "dc=".$ldap['DC'][0].",dc=".$ldap['DC'][1].",dc=".$ldap['DC'][2], "samaccountname=".$_POST['login']."" );
  21.  $info = ldap_get_entries ($ds, $sr);
  22.  echo "Nombre de personnes trouvées : ".$info ["count"]."<p>";
  23.  for ($i=0; $i < $info ["count"]; $i++) {
  24.   echo "dn : ". $info[$i]["dn"] ."<br>";
  25.   echo "cn : ". $info[$i]["cn"][0] ."<br>";
  26.   echo "sn : ". $info[$i]["sn"][0] ."<br>";
  27.   echo "samaccountname : ". $info[$i]["samaccountname"][0] ."<p>";
  28.  }
  29.  //Fermeture de la connexion LDAP
  30.  if(ldap_close($ds)) {
  31.   echo "<p>Fermeture de la connexion LDAP ".$ds."</p>";
  32.  }
  33. }
  34. else {
  35.  echo "Connexion LDAP échouée<br>";
  36. }
  37. }
  38. ?>


Message édité par Surfoo le 12-10-2006 à 15:25:58
mood
Publicité
Posté le 12-10-2006 à 15:24:11  profilanswer
 

n°1456388
flo850
moi je
Posté le 12-10-2006 à 21:03:51  profilanswer
 

tu peux essayer de lancer une connection au ldap avec le login et le password  
 
de memoire, le pass n'est pas stockées ( ou pas exposé ) dans le LDAP

n°1456916
Surfoo
Ça va ? ok.
Posté le 13-10-2006 à 16:08:27  profilanswer
 

effectivement, j'ai trouvé ça en fin d'après midi.
 
Donc en fait j'ai fait :
 
Connexion admin -> recherche de la personne selon le login, si login bon je récup le bon identifiant pour LDAP. Je me connecte avec celui ci et le mot de passe du formulaire et si c'est bon, je crée la session sinon il dégage ailleurs.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  LDAP et vérification du login/pass

 

Sujets relatifs
Ldap + Php pour trouver le SID d'un user[APACHE] Obtenir le login de la personne connectée
[HTML et PHP] Redirection site avec login mdpscript de verification ms_dos
Vérification page précédenteRedirection par frame d'un domaine -> pb de login avec ie
ldap - filtreVérification chekbox choix multiple
Faire une verification et passer a une page en cliquant sur un boutonVerification de la presence d'un fichier -> increment de 1 si vrai
Plus de sujets relatifs à : LDAP et vérification du login/pass


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)