【问题标题】:LDAP Exception - Invalid value #0 per syntaxLDAP 异常 - 每个语法的无效值 #0
【发布时间】: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


【解决方案1】:

您不能将groupOfUniqueNames 的objectClass 添加到已经是organizationalUnit 的objectClass 的OU

你应该尝试像这样的 LDIF:

String[] ldifLines = {
 "dn: cn=Admin,ou=roles,dc=test,dc=com",
 "objectClass: groupOfUniqueNames",
 "uniqueMember: uid=test.user",  // initialMember
 "cn: Admin"
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-06
    • 1970-01-01
    • 2020-06-06
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    相关资源
    最近更新 更多