Serge Nazarian
2007-07-30 13:29:55 UTC
Bonjour,
Je travaille sur une application web pour laquelle il est nécessaire de
s'identifier. Les utilisateurs sont tous enregistrés dans un annuaire LDAP.
L'utilisateur doit donc donner son login et son mot de passe en clair, et je
souhaite vérifier que le couple login/mdp existe bien dans l'annuaire.
Comment faire, sachant que les mots de passe stockés dans LDAP sont cryptés
?
Par exemple le mot de passe
bidon00
est codé
{CRYPT}VGE/fscsyryHw
dans le champ userPassword.
Voici la fonction concernée qui renvoie
return array("2",false);
car l'identification ne se fait pas.
Si dans l'annuaire, je remplace
{CRYPT}VGE/fscsyryHw
par
bidon00
tout marche bien, mais je veux garder les mots de passe cryptés dans
l'annuaire LDAP.
function passwd($uid,$password)
{
include("config/config.php.inc");
$ds=@ldap_connect($server); // Doit être un serveur LDAP valide !
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$rdn="uid=".$uid.", ".$users_tree;
if ($ds)
{
if (!ldap_bind($ds,$rdn,$password))
{
return array("2",false);
}
else
{
return array("0",true);
}
}
else
{
return array("1",false);
}
}
Merci pour toute aide.
Cordialement,
--
Serge Nazarian
Cliquez ci dessous pour une réponse personnelle :
http://cerbermail.com/?CBBJUUv0pN
Je travaille sur une application web pour laquelle il est nécessaire de
s'identifier. Les utilisateurs sont tous enregistrés dans un annuaire LDAP.
L'utilisateur doit donc donner son login et son mot de passe en clair, et je
souhaite vérifier que le couple login/mdp existe bien dans l'annuaire.
Comment faire, sachant que les mots de passe stockés dans LDAP sont cryptés
?
Par exemple le mot de passe
bidon00
est codé
{CRYPT}VGE/fscsyryHw
dans le champ userPassword.
Voici la fonction concernée qui renvoie
return array("2",false);
car l'identification ne se fait pas.
Si dans l'annuaire, je remplace
{CRYPT}VGE/fscsyryHw
par
bidon00
tout marche bien, mais je veux garder les mots de passe cryptés dans
l'annuaire LDAP.
function passwd($uid,$password)
{
include("config/config.php.inc");
$ds=@ldap_connect($server); // Doit être un serveur LDAP valide !
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$rdn="uid=".$uid.", ".$users_tree;
if ($ds)
{
if (!ldap_bind($ds,$rdn,$password))
{
return array("2",false);
}
else
{
return array("0",true);
}
}
else
{
return array("1",false);
}
}
Merci pour toute aide.
Cordialement,
--
Serge Nazarian
Cliquez ci dessous pour une réponse personnelle :
http://cerbermail.com/?CBBJUUv0pN