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
| <?php
function MyLDAP_Identification($maybe_user,$password) {
global $msg_erreur;
// informations de connexions
$ldap_host = "ldap.domain.com";
$base_dn = "ou=People, dc=domain, dc=com";
$user = "uid=".$maybe_user;
// connexion en anonymous
if (!($connect = ldap_connect($ldap_host))) {
$msg_erreur = "Erreur à la connexion";
ldap_close($connect);
return null;
}
// Informations de connexion
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($connect, LDAP_OPT_REFERRALS, 0);
// On lit les infos sur l'utilosateur
if (!($read = ldap_search($connect,$base_dn, $user))) {
$msg_erreur = "Erreur à la recherche";
ldap_close($connect);
return null;
}
// On range les infos dans un tableau
$info = ldap_get_entries($connect, $read);
//print_r($info);
if ($info[0]["dn"]) {
// l'utilisateur existe
$bind = @ldap_bind($connect,$info[0]["dn"],$password);
if (!$bind ) {
// si le BIND est FALSE, le mot de passe est erronée
$msg_erreur = "mot de passe erroné";
ldap_close($connect);
return null;
} else {
ldap_close($connect);
return $info[0];
}
} else {
$msg_erreur = "nom de user invalide";
ldap_close($connect);
return null;
}
}
?> |
Partager