[PHP&Ldap] Fonction LDAP_COMPARE

Fermé
Tiradus Messages postés 235 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 26 décembre 2011 - Modifié par Tiradus le 30/09/2010 à 20:47
Tiradus Messages postés 235 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 26 décembre 2011 - 30 sept. 2010 à 21:25
Bonjour,

Voilà j'essaie cet exemple ci-dessous :


<?php 

// Eléments d'identification LDAP 
$ldaprdn  = 'cn=admin,dc=mondomaine,dc=com';     // DN ou RDN LDAP 
$ldappass = 'admin';           // Mot de passe associé 

//Connexion au serveur LDAP 
$ldapconn = ldap_connect("localhost") 
    or die("Impossible de se connecter au serveur LDAP."); 

if ($ldapconn) { 

    //Connexion au serveur LDAP 
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass); 

    // Identification 
    if ($ldapbind) { 
        echo "Connexion LDAP réussie<br>"; 
   
  // preparation des données 
  $dn="cn=test2,dc=mondomaine,dc=com"; 

  $valeur="123456"; 

  $attribut="userPassword"; 

  // Comparaison du mot de passe à celui dans l'annuaire 
  $resultat=ldap_compare($ldapconn, $dn, $attribut, $valeur); 

  if ($resultat == -1) { 
  echo "Erreur:".ldap_error($ldapconn); 

  } 
  elseif ($resultat == TRUE) { 
  echo "Le mot de passe est correct"; 

  } 
  elseif ($resultat == FALSE) { 
  echo "Le mot de passe est erronné..."; 

  } 
  ldap_close($ldapconn); 


    } else { 
        echo "Connexion LDAP échouée"; 
    } 
         
} 

?> 


Tiré d'ici : http://www.manuelphp.com/php/function.ldap-compare.php

Et je rencontre un problème.

Lorsque lance mon script, il me retourne :

Connexion LDAP réussie 
Erreur:Compare True 


Et là je pige quedal :S

Et admettons que je rentre un utilisateur pas présent dans mon ldap, j'ai une vilaine erreur Warning qui vient s'insérer :(

Connexion LDAP réussie

Warning: ldap_compare() [function.ldap-compare]: Compare: No such object in C:\Program Files\EasyPHP5.2.10\www\testPS\check_Ldap.php on line 28
Erreur:No such object



Auriez vous des idées à tout hasard ?

En vous remerciant par avance!

[Config]

Server LDAP : OpenLDAP (Version windows)
Server WEB : Easy PHP 5.2.10

A voir également:

1 réponse

Tiradus Messages postés 235 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 26 décembre 2011 46
30 sept. 2010 à 21:25
Re-Bonsoir,

J'ai trouvé un moyen de contourner le problème de la sorte, en inversant les conditions :

	  if ($resultat == True) { 
		echo "Le mot de passe est correct"; 
	  } 
	  elseif ($resultat == False) { 
		echo "Le mot de passe est erronné...";
	  } 
	  else { 
		echo "Erreur:".ldap_error($ldapconn); 
	  } 
	  ldap_close($ldapconn); 

	  } else { 
		echo "Connexion LDAP échouée"; 
	} 


Mais est-ce que quelqu'un aurait une réponse ?

En vous remerciant par avance!
0