【问题标题】:LDAP Schemas and Tree StructureLDAP 模式和树结构
【发布时间】:2011-04-06 18:43:10
【问题描述】:

LDAP 如何定义哪些实体可能是树中的位置?

我注意到 OpenLDAP 阻止我将“bootableDevice”放置在“organizationalUnit”下方,但阻止了“inetOrgPerson”。从逻辑上讲,这是有道理的,但是如何在 LDAP 模式中强制执行?

【问题讨论】:

    标签: inheritance schema ldap hierarchical-data openldap


    【解决方案1】:

    据我了解,在 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,树的一部分是在模式中设计的。每个类都有一个可以包含它的类列表。

    日本

    【讨论】:

    • 该列表称为遏制。那里有树有规则。这就是 AD 树以 dc=something 开头的原因,因为 dc 对象可以包含几乎所有旧 NT 样式域可以包含的内容。
    • 严格来说,“遏制”是 MS AD 特有的,不适用于这种情况。
    【解决方案2】:

    @JPBlanc 给出了解决原始技术问题的正确答案。

    但为了记录,这里是主要问题的答案:

    LDAP 如何定义哪些实体可能是树中的位置?

    LDAPv3 规范指定 DIT Structure Rules and Name Forms 用于定义树结构和可能的属性以形成条目的 RDN。 但是,直到 2.4.x 版的 OpenLDAP 都没有实现这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-13
      • 1970-01-01
      • 1970-01-01
      • 2012-10-22
      • 2011-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多