我正在使用嵌入式版本的Apache Directory。它由启动时传递给它的LDIF文件填充。我正在尝试从客户端的LDAP结构中复制一个结构,该结构的基本节点为 o = Communities 。
似乎在创建基础节点时,Apache Directory要求为其创建分区。
我可以使用以下LDIF代码创建一个两级标识的分区(dc = example,dc = org):
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 和 example 节点。 (广告上下文是域条目的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 = example的分区
当我尝试使用单个组织标识符创建分区时,出现相同的错误
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 = example的分区
请让我知道我可以定义为分区的元素是否受到限制,或者我在这里做错了什么。
谢谢。