使用LDIF在Apache目录中创建分区

时间:2019-01-31 06:05:06

标签: ldap ldif apache-directory

我正在使用嵌入式版本的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的分区

请让我知道我可以定义为分区的元素是否受到限制,或者我在这里做错了什么。

谢谢。

0 个答案:

没有答案