You are not logged in.
Pages: 1
Topic closed
Bonjour,
J'avais un problème avec l'authentification. on doit identifier les utilisateurs avec un rootdn. Mais voilà le code que j'avais :
if (!$auth_succeded) {
$found_dn=false;
$auth_succeded=0;
$found_dn=$identificat->ldap_get_dn($cfg_login['ldap']['host'],$cfg_login['ldap']['basedn'],$_POST['login_name'],$cfg_login['ldap']['rootdn'],$cfg_login['ldap']['pass']);
if ($found_dn!=false&&!empty($_POST['login_password'])){
$auth_succeded = $identificat->connection_ldap($cfg_login['ldap']['host'],$found_dn,$_POST['login_name'],$_POST['login_password'],$cfg_login['ldap']['condition']);
if ($auth_succeded) {
....etc....
Le souci est le suivant ; je ne comprends pas pourquoi si le rootdn vient de nous authentifier il faut de nouveau appeler une demande d'authentification $identificat->connection_ldap. De plus les droits sur le ldap ne permet pas à un utilisateur de lire ses entrées ($info = ldap_get_entries ( $conn, $sr );) donc j'étais automatiquement rejeté.
j'ai modifié de façon suivante : si le rootdn nous reconnait alors $auth_succeded=true.
Cordialement
Fred_
Offline
Ce n'est pas la bonne méthode.
Le bind d'authentification doit etre fait par l'utilisateur lui meme mais pas par le rootdn.
le rootdn n'est là que pour gérer les cas d'un annuaire arborescent.
Dans ce cas il faut un compte priviligié pour faire une recherche dans l'annuaire : rootdn.
Une fois localisé l'utilisateur ($found_dn) on peut alors testé si le login/mot de passe est bon.
Cette méthode n'est vrai que dans le cas ou vos utilisateurs sont localisés a plusieurs endroits dans l'annuaire LDAP.
S'ils sont tous au meme endroit il suffit de spécifier le bon basedn dans la configuration de glpi (qui doit correspondre au found_dn trouvé avec un rootdn) et dans ce cas vous n'avez pas besoin de rootdn.
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
Pages: 1
Topic closed