【发布时间】:2017-06-12 22:20:23
【问题描述】:
我是 LDAP 和 Unbound ID SDK for Java 的新手,我在将用户角色从我的应用程序添加到我的 LDAP 服务器时遇到了问题(这些角色分组在 ou=roles,dc=test,dc=com 中并作为一部分ou=roles 子树中的每个角色都应该是 groupOfUniqueMembers 类型的条目)。
但是我遇到了以下问题:
错误 ldap.service.LDAPService - LDAPException(resultCode=21 (无效属性语法), errorMessage='uniqueMember: value #0 invalid per syntax', diagnosticMessage='uniqueMember: value #0 invalid per syntax')
我构造我的 AddRequest 的方式如下:
String[] ldifLines = {
"dn: ou=roles,dc=test,dc=com",
"objectClass: groupOfUniqueNames",
"uniqueMember: uid=test.user", // initialMember
"cn: Admin"
};
AddRequest request = new AddRequest(ldifLines);
connection.add(request); // <- this line throws the exception
附: connection 是一个 LDAPConnection 对象,它可以正确连接到我的 ldap 服务器,因为 SearchRequests 和 DeleteRequests 执行良好,所以问题似乎不存在(这可能是我的服务器的配置方式!)。
服务器使用 LDAP 版本 3。
如果我提供的信息不充分,请指出我应该提供的更多信息。
提前致谢
【问题讨论】:
-
我认为 uniqueMember 的值无效
-
是的,在异常消息之后似乎合乎逻辑,但是,当我通过 Apache Directory Studio 手动添加条目时,该值被接受。
-
我的第一个想法是该值应该是一个数组,其中第一个条目作为用户 dn,因为 uniqueMember 肯定会包含多个用户;)
-
尝试测试其他值以确保问题是 uniqueMember 的值。
-
我尝试了值:uid=test.user, test.user, test,但抛出了同样的异常。
标签: java ldap unboundid-ldap-sdk