IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[LDAP] - erreur ldap_compare


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Par défaut [LDAP] - erreur ldap_compare
    Bonjour,
    Dans une page html,je veux me connecter avec mon login et mon mdp de l'active directory , j'arrive la connexion se fait en anonyme.
    Quand j'ouvre ma page , l'erreur suivante apparait :
    Warning: ldap_compare(): Compare: Operations error in c:\program files\easyphp1-8\www\ldapanonyme.php on line 11
    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <?php
    $ds = ldap_connect("monserveur.exemple.fr") or die("Impossible de se connecter au serveur LDAP.");
    if ($ds) 
    	{    // identification     
        $ldapbind = ldap_bind($ds);
    		if ($ldapbind) 
    			{        // preparation des données        
    				$dn = "CN=séb, OU=GPO Internet, DC=exemple, DC=fr"; 
    				$value = "secretpassword";        
    				$attr = "password";         // comparaison des valeurs        
    				$r=ldap_compare($ds, $dn, $attr, $value);        
     
    				if ($r === -1) 
    					{
    						echo "Erreur : ".ldap_error($ds);
    					}
    				elseif ($r === TRUE) 
    					{ 
    						echo "Mot de passe correct.";
    					} 
    				elseif ($r === FALSE) 
    					{
    						echo "Mal choisi! Mot de passe incorrect!";       
    					}   
    			}
    		else
    			{    
    				echo "Impossible de se connecter au serveur LDAP.";    
    			}
    		ldap_close($ds);
    	} 
    else 
    	{    
    		echo "Impossible de se connecter au serveur LDAP.";
    	}
    /*---------------------------------------------------------------------------------------------------*/
      $auth_pass = $_SERVER['PHP_AUTH_PW'];   
      $auth_user = $_SERVER['PHP_AUTH_USER'];  
     
    if ( !isset($_SERVER['PHP_AUTH_USER']) 
    	|| !isset($_SERVER['PHP_AUTH_PW']) 
    	|| ($_SERVER['PHP_AUTH_USER'] !== "$auth_user" )
    	|| ($_SERVER['PHP_AUTH_PW'] !== "$auth_pass") 
    	|| ( $auth_user."" == "" || $auth_pass."" == "" ) )
    {
       header('WWW-Authenticate: Basic realm="Authentifiez vous"');
       header('HTTP/1.0 401 Unauthorized');
       echo 'Acces non autorise';
       exit;
    }
    echo 'Utilisateur authentifié';
     
     
    ?>

    apparemment , l'erreur est de valeur -1, mais je ne sais pas plus,

    Merci de vos reponses.

  2. #2
    Membre confirmé Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Par défaut
    J'ai changé mon code, il est de forme suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php
     
     
    //premiere connexion
    $ds = ldap_connect ("VM-DC.domaine.fr");
     
    if($ds)
    {
    	   header('WWW-Authenticate: Basic realm="vous identifiez"');
    	   header('HTTP/1.0 401 Unauthorized');
    	   echo 'Acces annulé';
     
    		// Attachement anonyme
    		$bind = ldap_bind ($ds);
     
    		// Préparation des données
    		$dn = "CN=Séb,OU=GPO Internet,DC=domaine,DC=fr";
    		$attr =  "";
    		$value = "";
    		// comparaison des valerus
    		$resultat = ldap_compare($ds,$dn, $attr, $value);
     
    		//verif message
    		if ($resultat == -1)
    		{
    		echo "Erreur : ".ldap_error($ds);
    		}
    		else if ($resultat == TRUE)
    		{
    		echo "mdp correct";
    		}	
    		else
    		{
    		echo "mdp errone";
    		}
     
    		// Fermeture de la connexion
    		ldap_close ($ds);
    }
    else
    {
    	echo "Impossible de se connecter au serveur LDAP.";
    }
    ?>

    Du coup , j'ai un autre message d'erreur :
    ldap_compare(): Compare: Constraint violation

    et si j'ajoute des données aux variables $attr et $value
    j'ai une autre erreur :
    ldap_compare(): Compare: No such attribute
    Je me demandais, a quoi correspond un attribut et une valeur ?

  3. #3
    Membre confirmé Avatar de nawak.seb
    Profil pro
    Inscrit en
    Août 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 106
    Par défaut
    Je relance le sujet , car j'ai de nouveau le meme probleme avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    if($bd)
    {
    		//preparation des données
    		$value = $_POST["password"];
    		$attr = 'password';
    		//comparaison  des valeurs
    		$resultat = ldap_compare($ds, $dn, $attr, $value);
     
    		if ($resultat === -1) 
    		{
    			echo "Erreur: " . ldap_error($ds);
    		} elseif ($resultat === TRUE) 
    		{
    			echo "Password correct<br>";
     
    		} elseif ($resultat === true) 
    		{
    				echo "Mot de passe incorrect ";
    		}
     
    }else
    {
    	echo 'erreur'; 
    }	
    ldap_close($ds);
    }
    L'attribut n'est pas correct
    ldap_compare(): Compare: No such attribute

Discussions similaires

  1. [LDAP] erreur ldap_search
    Par Mat67 dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 20/11/2013, 13h41
  2. [LDAP] erreur sur ldap_bind
    Par pascale86 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 16/11/2006, 16h46
  3. [LDAP] Erreur création compte utilisateur
    Par Invité dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 09/10/2006, 17h27
  4. [LDAP] Erreur sizeLimit exceeded
    Par xG-Hannibal dans le forum Langage
    Réponses: 3
    Dernier message: 13/06/2006, 09h08
  5. Réponses: 1
    Dernier message: 22/05/2006, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo