2009-10-17 92 views
1

在OpenDS中存在一个密码策略,可防止多个登录失败。如果用户设法通过限制,则会显示LDAP服务器的日志,即:从Java中获取LDAP(OpenDS)中的其他响应代码

[17/Oct/2009:17:51:11 +0200] BIND RES conn = 91 op = 0 msgID = 1 result = 49 authFailureID = 197126 authFailureReason =“拒绝用户uid = XXXXXXXX的绑定请求,ou = users,dc = XXXXXXX,dc = hr,因为帐户由于失败的验证尝试失败而被锁定”etime = 1

How在任何Java客户端API(bind())上接收LDAP响应代码而不是“49”,这是一种通用的“无效凭证”响应,可应对所有类型的错误。 JLDAP中的LDAPException和JNDI中的Exception除了“49”和上述“无效凭证”消息之外似乎没有包含更多有用的信息(向用户显示表示层)。查看日志完全破坏了密码策略的目的。

任何想法?

最好的问候, 博佐

回答

0

解决。看起来你不能接收数字响应,但你可以在绑定上打开(在OpenDS config中)错误消息,然后你必须解析你的应用程序代码中的响应失败登录。荒谬。

+0

“BindResult”对象中的getDiagnosticMessage()方法返回诊断字符串。 – 2011-07-27 18:44:31

+0

这是从这个API? http://www.unboundid.com/products/ldapsdk/ – bozo 2011-07-30 12:37:38

+0

这是正确的。 – 2011-07-31 19:29:41