Serveur LDAP ne contrôle pas le mot de passe.

Fermé
kchpr Messages postés 2 Date d'inscription jeudi 14 avril 2016 Statut Membre Dernière intervention 14 avril 2016 - Modifié par kchpr le 14/04/2016 à 19:24
kchpr Messages postés 2 Date d'inscription jeudi 14 avril 2016 Statut Membre Dernière intervention 14 avril 2016 - 14 avril 2016 à 20:30
Bonjour,

Mon application écrite en C, fait un "bind" à un serveur LDAP avec la fonction ldap_sasl_bind_s, et récupère les attributs sans problème, même avec un mot de passe erroné. La fonction retourne toujours un status OK.

Pourriez-vous me dire comment faire afin que le serveur LDAP n'accepte pas une connexion dont le mot de passe est erroné ? Quels options à mettre pour la fonction ldap_sasl_bind_s ?

J'ai essayé les fonctions obsolètes ldap_bind_s et ldap_simple_bind_s, elles retournent bien code d'erreur 49 "Invalid credentials".

La librairie OpenLDAP est de version 2.4.43, mon OS est Windows 7.

Je vous remercie par avance.

==========================

Résumé de mes codes :

ldap_initialize (&ldap, ldap_urls);
ldap_set_option (ldap, LDAP_OPT_PROTOCOL_VERSION, &ldap_version);
ldap_set_option (ldap, LDAP_OPT_SIZELIMIT, &size_limit);
retCode = ldap_sasl_bind_s (ldap, bind_dnp, LDAP_SASL_SIMPLE, &cred, NULL, NULL, NULL);
...

ldap_search_ext (...)
for (msgcount = 0; ...)
{
ldap_result (...)
ldap_first_attribute (...)
while (...)
{
ldap_get_values_len (...)
ldap_next_attribute (...)
}
}
ldap_unbind_ext_s (...)
A voir également:

1 réponse

kchpr Messages postés 2 Date d'inscription jeudi 14 avril 2016 Statut Membre Dernière intervention 14 avril 2016
14 avril 2016 à 20:30
En fait il y a une erreur dans mon code, la fonction ldap_sasl_bind_s contrôle bien les mauvais mot de passe.

Je suis désolé de vous déranger.
0