У меня есть файл ldif, который я запускаю на локальном сервере. Ниже приведен код из моего файла ldif, в котором есть проблемы. Code1 работает нормально, но Code2 не работает и выдает следующую ошибку. Что мне нужно сделать, чтобы выполнить несколько OU в DN моего файла ldif? Чтобы уточнить, я реализую LDAP с загрузкой Spring и использую этот файл 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.
Я много искал в Интернете и не нашел решения. Я чешу голову уже 2 дня!!
# 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
Это потому, что у вас есть дважды одно и то же определение записи в вашем 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 DN и RDN