OVH Cloud OVH Cloud

LDAP comparaison password

2 réponses
Avatar
Scalpa
Bonjour

J'ai un probl=E8me pour comparer un mot de passe r=E9cup=E9r=E9 depuis
LDAP.
J'ai r=E9cup=E9r=E9 les champs userpassword et userid pour tous les
utilisateurs r=E9f=E9renc=E9s dans le LDAP, et avec ces donn=E9es j'ai
rempli une table contenant une colonne pour le userid et une autre pour
le mot de passe.
Ensuite dans mon application, lorsque un utilisateur se connecte, je
voudrais comparer son mot de passe avec celui stock=E9 dans ma table. Je
ne veux pas ouvrir de connection sur le serveur LDAP pour qu'il
v=E9rfiie le mot de passe.
Je voudrais savoir s'il existe une m=E9thode pour g=E9n=E9rer un mot de
passe crypt=E9 pour ensuite le comparer avec celui stock=E9 dans ma
table.

Merci d'avance.

Pascal Serent

2 réponses

Avatar
David
Je résume pour voir si j'ai bien compris ton besoin : tu ne veux pas,
pour une raison que tu n'expliques pas (mais peut-on savoir laquelle
?), que ton serveur d'applications (lequel au fait ?) soit paramétré
pour utiliser ton LDAP, mais tu veux te substituer à celui-ci en
vérifiant toi-même les user/mot de passe saisis par ton utilisateur,
c'est ça ?

Le mot de passe que tu as récupéré dans ton LDAP doit être crypté
je présume, et c'est donc crypté que tu l'as stocké dans ta table.
Donc, il faut que tu connaisses l'algorithme de cryptage utilisé par
ton LDAP, et appliquer le calcul au mot de passe saisi par ton user (ex
: pour OpenLDAP, tu as MD5 et SHA).

Ensuite, comparer la valeur obtenue avec celle stockée en base.

Mais il faut vraiment avoir une bonne raison...

--
David <*>
Avatar
JScoobyCed
Scalpa wrote:
Bonjour

J'ai un problème pour comparer un mot de passe récupéré depuis
LDAP.
J'ai récupéré les champs userpassword et userid pour tous les
utilisateurs référencés dans le LDAP, et avec ces données j'ai
rempli une table contenant une colonne pour le userid et une autre pour
le mot de passe.
Ensuite dans mon application, lorsque un utilisateur se connecte, je
voudrais comparer son mot de passe avec celui stocké dans ma table. Je
ne veux pas ouvrir de connection sur le serveur LDAP pour qu'il
vérfiie le mot de passe.
Je voudrais savoir s'il existe une méthode pour générer un mot de
passe crypté pour ensuite le comparer avec celui stocké dans ma
table.

Merci d'avance.

Pascal Serent



Juste pour preciser:
- sur Active Directory, il faut une connection cryptee (SSL, TLS,
Kereberos) pour avoir acces au mot de passe. Je ne suis meme pas sur que
le mot de passe soit retourne en fait, sur AD.
- il faut regarder dans la spec du serveur LDAP quelle encryption est
utilisee pour le mot de passe (souvent MD5 par defaut)
- un acces a LDAP n'est pas plus gourmand qu'une connection DB

--
JSC