如何在ldif文件的DN中指定多个OU

时间:2019-04-18 17:28:03

标签: spring spring-boot java-ee ldap spring-ldap

我有一个ldif文件,该文件正在本地服务器上运行。以下是我的ldif文件中的代码,其中有问题。 Code1可以正常工作,但是Code2无法正常工作,并出现以下错误,我该怎么做才能在ldif文件的DN中完成多个OU?为了进一步说明,我正在使用Spring boot实施LDAP,并将此ldif文件用于测试目的。

Caused by: com.unboundid.ldap.sdk.LDAPException: Unable to add entry 'CN=lastname\, firstname,OU=Unit1,OU=Unit2,DC=com' because its parent entry 'OU=Unit1,OU=Unit2,DC=com' does not exist in the server.

我在网上进行了广泛的搜索,找不到解决方案。我已经挠头了两天!

# Code1
dn: dc=com
objectclass: top
objectclass: domain
objectclass: extensibleObject
dc: example

# Organizational Units
dn: ou=Unit1,dc=com
objectclass: top
objectclass: organizationalUnit
ou: Unit1

dn: ou=Unit2,dc=com
objectclass: top
objectclass: organizationalUnit
ou: Unit2

# Create People
dn: CN=lastname\, firstname,OU=Unit1,DC=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: firstname, lastname
sn: lastname

# Code2
dn: dc=com
objectclass: top
objectclass: domain
objectclass: extensibleObject
dc: example

# Organizational Units
dn: ou=Unit1,dc=com
objectclass: top
objectclass: organizationalUnit
ou: Unit1

dn: ou=Unit2,dc=com
objectclass: top
objectclass: organizationalUnit
ou: Unit2

# Create People
dn: CN=lastname\, firstname,OU=Unit1,OU=Unit2,DC=com
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: firstname, lastname
sn: lastname

1 个答案:

答案 0 :(得分:1)

那是因为您在ldif中具有两次相同的条目定义(#code 1和#code 2看起来相同)。

parent entry 'OU=Unit1,OU=Unit2,DC=com' does not exist

->是的,没有条目dn: OU=Unit1,OU=Unit2,DC=com

如果您需要“ Unit1”作为“ Unit2”的子条目,请删除重复的条目dn:OU=Unit1,DC=com并将其添加到“ Unit2”之后:

dn: OU=Unit1,OU=Unit2,DC=com
objectclass: top
objectclass: organizationalUnit
ou: Unit1

创建后,该条目-作为“父级”-应该允许创建“子级”用户条目dn: CN=lastname\, firstname,OU=Unit1,OU=Unit2,DC=com

请参见LDAP DNs and RDNs