LDAP 模式

目录条目包含有关特定实体或对象(例如,个人或组)的信息,并与专有名称关联。LDAP 模式是一组规则,定义了在 LDAP 目录中可以作为目录条目保存的内容。每个 LDAP 目录都有缺省的模式,各组织可以定制它,或通过向其中添加元素对其进行扩展。模式的元素有属性、语法和对象类。LDAP 目录服务器有能力让模式确保使用 LDAP 操作进行的目录更改符合模式的要求。

属性

属性定义目录条目应包含的一段信息。例如,与个人相关的条目的一些公共属性有 cn(公共名称)、telephoneNumberuserPassword

对于特定的目录条目类型,某个属性可以是必需的,也可以是可选的。如果某个属性是必需的,并且目录管理员对该模式使用了模式检查,那么,当使用 LDAP 操作添加或修改目录条目时,管理员必须为该属性提供一个值。属性还可以定义为允许多个值(缺省)或只有一个值。

多种类型的目录条目可以使用相同的属性。

对象类

对象类为一种类型的目录条目定义一组属性。一个对象类层次结构中的两个或更多对象类可以为一种类型的目录条目定义属性。一个对象类将继承层次结构中所有父对象类的属性,然后添加自己的属性;例如:

对象类 1:添加属性 A

对象类 2:继承属性 A,并添加属性 B、C 和 D

对象类 3:继承属性 A、B、C 和 D,并添加属性 E 和 F

有三种类型的对象类:抽象、结构和辅助。

抽象对象类

抽象对象类定义对象类结构中所有对象类都将继承的一个或一组属性。每个对象类结构都必须有一个作为顶级对象类的抽象对象类。缺省 LDAP 模式通常使用抽象对象类 top,此对象类仅包括一个属性,即 objectClass,此属性用于为目录中的每个条目定义对象类。

结构对象类

结构对象类定义 LDAP 目录中对象条目的类型。结构对象类的示例包括 personorganizationalPersoninetOrgPerson。对象类结构中至少应该包括一个结构对象类。

辅助对象类

辅助对象类用于向其他对象类(通常是结构对象类)中添加属性。辅助对象类对定义由多个对象类使用的一组属性时很有作用。辅助对象类通常继承自抽象对象类 top。对象类不能从辅助对象类继承属性。相反,必须将辅助对象类添加到使用它的每个对象类中。

语法

语法定义存储属性值使用的数据格式。目录字符串、整数和 JPEG 都是标准 LDAP 语法的示例。