关于我的另一个问题:UnboundID LDAP DIGEST-MD5 binding cause NPE
我使用 ApacheDS 作为服务器,使用 UnboundID 作为 API。
我遵循了建议的答案,NPE 不见了。但是,现在我收到了这个错误。
LDAPException(resultCode=49 (invalid credentials), errorMessage='INVALID_CREDENTIALS: DIGEST-MD5: cannot acquire password for 'dn:uid=blah,ou=dev,dc=blah,dc=com in realm : mizar.com', diagnosticMessage='INVALID_CREDENTIALS: DIGEST-MD5: cannot acquire password for dn:uid=blah,ou=dev,dc=blah,dc=com in realm : blah.com')
at com.unboundid.ldap.sdk.LDAPConnection.bind(LDAPConnection.java:1881)
at UnboundDemo.main(UnboundDemo.java:40)
代码如下:
conn = new LDAPConnection("1.1.1.1",389);
mdBind = new DIGESTMD5BindRequest("dn:uid=blah,ou=dev,dc=blah,dc=com", null, "test", "blah.com",null);
bindResult = conn.bind(mdBind);
System.out.println("MD5 bind success!");
这是 Directory Studio 配置页面中的 ApacheDS SASL 配置:
SASL Host: 1.1.1.1
SASL Principal: ldap/ldap.example.com@EXAMPLE.COM
Search Base Dn: ou=dev,dc=blah,dc=com
ApacheDS 文档没有解释 SASL 主体是什么,所以我开始认为这可能是我的错误配置。这里的主要思想是针对一些 SASL 机制测试 UnboundID。