Я использую встроенную версию Apache Directory.Он заполняется файлом LDIF, который вы передаете ему при запуске.Я пытаюсь реплицировать структуру из структуры LDAP клиента, базовый узел которой равен o = Communities .
Похоже, что при создании базового узла Apache Directory требует, чтобы для него был создан раздел.
Я могу создать двухуровневый определенный раздел (dc = пример, dc = org)со следующим кодом LDIF:
dn: ads-partitionId=example,ou=partitions,ads-directoryServiceId=default,ou=config
objectclass: top
objectClass: ads-base
objectclass: ads-partition
objectclass: ads-jdbmPartition
ads-partitionSuffix: dc=example,dc=org
ads-contextentry:: ZG46IGRjPWV4YW1wbGUsZGM9b3JnCmRjOiBleGFtcGxlCm9iamVjdGNsYXNzOiBkb21haW4Kb2JqZWN0Y2xhc3M6IHRvcA==
ads-jdbmpartitionoptimizerenabled: TRUE
ads-partitioncachesize: 10000
ads-partitionsynconwrite: TRUE
ads-partitionid: example
ads-enabled: TRUE
dn: dc=example,dc=org
dc: example
objectclass: domain
objectclass: top
Приведенный выше код работает правильно и создает org и пример узла в дереве.(Ad-contextentry - это представление base64 записи домена)
Однако я не могу создать одноуровневый определенный раздел:
dn: ads-partitionId=example,ou=partitions,ads-directoryServiceId=default,ou=config
objectclass: top
objectClass: ads-base
objectclass: ads-partition
objectclass: ads-jdbmPartition
ads-partitionSuffix: dc=example
ads-contextentry:: ZG46IGRjPWV4YW1wbGUKZGM6IGV4YW1wbGUKb2JqZWN0Y2xhc3M6IGRvbWFpbgpvYmplY3RjbGFzczogdG9w
ads-jdbmpartitionoptimizerenabled: TRUE
ads-partitioncachesize: 10000
ads-partitionsynconwrite: TRUE
ads-partitionid: example
ads-enabled: TRUE
dn: dc=example
dc: example
objectclass: domain
objectclass: top
Сбой из-за ошибки:
org.apache.directory.api.ldap.model.exception.LdapNoSuchObjectException: ERR_268 Не удается найти раздел для dc = пример
При попытке создать такую же ошибкураздел с единым идентификатором организации
dn: ads-partitionId=example,ou=partitions,ads-directoryServiceId=default,ou=config
objectclass: top
objectClass: ads-base
objectclass: ads-partition
objectclass: ads-jdbmPartition
ads-partitionSuffix: o=example
ads-contextentry:: ZG46IG89ZXhhbXBsZQpvOiBleGFtcGxlCm9iamVjdGNsYXNzOiBvcmdhbml6YXRpb24Kb2JqZWN0Y2xhc3M6IHRvcA==
ads-jdbmpartitionoptimizerenabled: TRUE
ads-partitioncachesize: 10000
ads-partitionsynconwrite: TRUE
ads-partitionid: example
ads-enabled: TRUE
dn: o=example
o: example
objectclass: organization
objectclass: top
Ошибка:
org.apache.directory.api.ldap.model.exception.LdapNoSuchObjectException: ERR_268 Не удается найти раздел для o= пример
Пожалуйста, дайте мне знать, если есть ограничение на элементы, которые я могу определить как раздел, или я делаю что-то здесь неправильно.
Спасибо.