Bonjour,
Voici le morceau de mon code qui vérifie le login d'un utilisateur via LDAP :
Si je tape un utilisateur et un mot de passe valide, ça fonctionne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // Vérification de la présence de l'utilisateur dans le LDAP try { $ds = ldap_connect(LDAP_HOST); ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); $util = ldap_bind($ds, 'uid='.$user.','.UTIL_BASE_DN, $password); ldap_close($ds); } catch (Exception $e) { $error_msg = 'Erreur LDAP : '.$e; require RACINE.'public/page.phtml'; exit; }
Si je tape un utilisateur valide mais un mauvais mot de passe, au lieu que l'erreur LDAP soit récupérée par le catch et traitée en gestion d'erreur, j'ai directement ceci à l'affichage :
Est-ce parce que l'erreur est un Warning ?Warning: ldap_bind(): Unable to bind to server: Invalid credentials in [chemin vers mon programme] on line [numéro de la ligne $util = ldap_bind($ds, 'uid='.$user.','.UTIL_BASE_DN, $password);]
Si oui, comment faire pour que le catch fonctionne ?
Partager