[LDAP] Authentification basée sur active directory
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:
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