J'ai créé un une appli en php.
Pour aller visualiser l'application, je souhaite que le utilisateur s'identifie avec un login et et un mot de passe.
Je veux prendre le login et mot de passe de l'active directory.
J'ai trouvé des sources sur le net.

J'ai un message d'erreur :
Warning: ldap_search() [function.ldap-search]: Search: No such object in C:\wamp\www\connexionad.php on line 51
Affichage des données des : : entrées trouvées :
Le dn est:
Utilisateur non trouvé

Merci de votre aide,

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<html>
<body><table>
<form action="" method="POST" >
<tr>
<td>Login : </td><td><input type="text" name="login" id="login" /></td>
</tr>
<tr>
<td>Mot de passe : </td><td><input type="password" name="pwd" id="pwd" /></td>
</tr>
<tr>
<td><input type="submit" name="Valider" value="Connexion" id="connexion" /></td>
</tr>
</table>
</form>
 
</body>
</html>
<?php 
 
if(isset($_POST['Valider'])) {
	$login= $_POST['login'];
	$pwd = $_POST['pwd'];
 
		$ldaphost = "serveurldap";  
		$ldapport = 389;                 
		$ldapdn  = 'OU=,OU=,OU=,DC=,DC=if,DC=,DC=';     
		$ldaprdn="";
 
		$ldapconn = ldap_connect( $ldaphost, $ldapport ) or die( "Impossible de se connecter au serveur LDAP {$ldaphost}" );
		if ($ldapconn){
			echo  "<b>Réussir au ldapconn</b><br>"."<br>";
 
			$ldappass = $pwd;           // Mot de passe associé
			$ldapbind = ldap_bind($ldapconn);    
 
			if ($ldapbind) {        
	    		//Validation login
        		$filter="(|(sAMAccountName=$login*))";
        		//$filter='(&(sn=*)(givenname=*))';
        		$justthese = array( "ou", "sn", "givenname", "mail");
        		$sr=ldap_search($ldapconn, $ldapdn, $filter, $justthese);
 
        		if($sr){ $info =ldap_get_entries($ldapconn, $sr); }
 
        		echo  "Affichage des données des : ".$info["count"]." : entrées trouvées :<br>";
        		//recherche du DN nécessaire à l'authentification
        		echo  "Le dn est: ". $info[0]["dn"] ."<br>";
 
        		$ldaprdn=$info[0]["dn"];
 
        		if ($ldaprdn != "") {
	        		// Eléments d'identification LDAP
            		echo "Authentification de : ".$login."<br>";
            		$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
            		if ($ldapbind) {        
	            		echo "Authentification LDAP réussie"."<br>";  
            		}else{        
	            		echo 'Authentification LDAP échouée';   
            		}
        		}else{
	        		echo 'Utilisateur non trouvé';   
        		}
    		}
		}else {
			echo  "Impossible de se connecter au serveur LDAP";
		}
	ldap_close($ldapconn);
}
?>