2009-10-17 5 views
1

Une stratégie de mot de passe est en place sur OpenDS, empêchant plusieurs échecs de connexion. Si l'utilisateur parvient à dépasser la limite, les journaux du serveur LDAP s'affichent, c'est-à-dire:Récupération de codes de réponse supplémentaires dans LDAP (OpenDS) à partir de Java

[17/Oct/2009: 17: 51: 11 +0200] BIND RES conn = 91 op = 0 msgID = 1 résultat = 49 authFailureID = 197126 authFailureReason = "Rejetant une demande de liaison pour l'UID utilisateur = XXXXXXXX, ou = utilisateurs, dc = XXXXXXX, dc = h parce que le compte a été verrouillé en raison de trop de tentatives d'authentification a échoué" etime = 1

Comment pour recevoir le code de réponse LDAP dans N'IMPORTE QUELLE API client Java (sur bind()) autre que le "49", qui est une réponse générique "Invalid Credentials" pour tous les types d'erreurs qui peuvent se produire. LDAPException dans JLDAP et Exception dans JNDI ne semblent pas contenir d'informations plus utiles (à montrer à l'utilisateur sur la couche de présentation) en plus du message "49" et du message "Invalid Credentials". En regardant les journaux, l'objectif de la stratégie de mot de passe est entièrement supprimé.

Des idées?

Meilleures salutations, Bozo

Répondre

0

Résolu. Il semble que vous ne pouvez pas recevoir de réponse numérique, mais vous pouvez activer (dans OpenDS config) les messages d'erreur sur bind, puis vous devez analyser la réponse dans vos codes d'application pour l'échec de connexion. Ridicule.

+0

La méthode 'getDiagnosticMessage()' dans l'objet 'BindResult' renvoie la chaîne de diagnostic. –

+0

C'est de cette API? http://www.unboundid.com/products/ldapsdk/ – bozo

+0

C'est correct. –

Questions connexes