【发布时间】:2011-04-06 18:43:10
【问题描述】:
LDAP 如何定义哪些实体可能是树中的位置?
我注意到 OpenLDAP 阻止我将“bootableDevice”放置在“organizationalUnit”下方,但阻止了“inetOrgPerson”。从逻辑上讲,这是有道理的,但是如何在 LDAP 模式中强制执行?
【问题讨论】:
标签: inheritance schema ldap hierarchical-data openldap
LDAP 如何定义哪些实体可能是树中的位置?
我注意到 OpenLDAP 阻止我将“bootableDevice”放置在“organizationalUnit”下方,但阻止了“inetOrgPerson”。从逻辑上讲,这是有道理的,但是如何在 LDAP 模式中强制执行?
【问题讨论】:
标签: inheritance schema ldap hierarchical-data openldap
据我了解,在 openLDAP 中,每个节点都被视为每个节点的容器。您注意到 OpenLDAP 阻止您将 bootableDevice 放置在 organizationalUnit 下方。事实上,如果你查看架构文件中的bootableDevice,你会发现它是一个AUXILIARY 类
objectClasses: ( 1.3.6.1.1.1.2.12 NAME 'bootableDevice'
DESC 'A device with boot parameters' SUP top AUXILIARY
MAY ( bootFile $ bootParameter ) )
所以你不能实例化 AUXILIARY 类。您可以实例化 computer 并向其添加 AUXILIARY 类,以便在 computer 对象中使用 bootableDevice 属性。
这是一个例子:
在其他目录中,例如 Active-Directory,树的一部分是在模式中设计的。每个类都有一个可以包含它的类列表。
日本
【讨论】:
@JPBlanc 给出了解决原始技术问题的正确答案。
但为了记录,这里是主要问题的答案:
LDAP 如何定义哪些实体可能是树中的位置?
LDAPv3 规范指定 DIT Structure Rules and Name Forms 用于定义树结构和可能的属性以形成条目的 RDN。 但是,直到 2.4.x 版的 OpenLDAP 都没有实现这一点。
【讨论】: