Salut
je travaille sur un projet d'intranet et j'aimerais que l'authentification se base sur l'active directory mais le problème c'est que je suis perdu entre les fonctions ldap. 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
 
<?php
if(isset($_POST['go']) && $_POST['go'] == 'Validez')
{
	if(!empty($_POST['login']) && !empty($_POST['pwd']))
	{
	$ldapdn = mysql_real_escape_string(strtolower($_POST['login'])) . '@domain_name';
	$ldappwd = mysql_real_escape_string(strtolower($_POST['pwd']));
 
	// Connexion au serveur
	$cnx = ldap_connect('adress_ip', 389);
	ldap_set_option($cnx, LDAP_OPT_PROTOCOL_VERSION, 3);
	// la racine de base
	$racine = 'OU=Personnel,DC=mon service,DC=ma compagnie';
 
		if($cnx)
		{
			if(ldap_bind($cnx, $ldapdn, $ldappwd))
			{
			$_SESSION['login'] = $ldapdn;
			sleep(1);
			header('location: http://adresse_ip/helpdesk/index.php?page=cpublic');
			exit;
			}
			else
			{
			echo 'Login invalide !';
			header('location: http://adresse_ip/helpdesk/index.php?page=cnx');
			exit;
			}
		}
	// Déconnexion
	ldap_close($cnx);
	}
	echo 'Merci de remplir les champs obligatoires';
}
 
?>
il suffit d'utiliser la fonction ldap_bind ou ajouter un autre controle.
merci de votre aide