Les Allergies
Alimentaires
Posez votre question Signaler

[PHP&Ldap] Fonction LDAP_COMPARE

Tiradus 229Messages postés 31 octobre 2007Date d'inscription 26 décembre 2011Dernière intervention - Dernière réponse le 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
Lire la suite 

[PHP&Ldap] Fonction LDAP_COMPARE »

1 réponses
Réponse
-1
moins plus
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!
Ajouter un commentaire
Ce document intitulé « [PHP&Ldap] Fonction LDAP_COMPARE » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?