schema的构成要素
所有条目都有一个必须属性集合和一个可选属性集合。例如一个描述人的条目必须有一个cn(通用名)属性和一个sn(姓)属性。人的条目中有许多其他属性是可选的,而不是必须的。任何属性,如果没有明显说明是必须属性或可选属性,则应该被禁止。
所有关于必须属性和可选属性的信息集合统称为模式(Schema),目录模式控制和维护存储在目录中的信息的类型和值。
总之,LDAP信息模型描述条目,条目是目录的基本信息单元。条目由属性组成,属性由一个属性类型和一个或多个属性值组成。属性的约束用来限制作为属性值的数据的类型和长度。目录模式规定了一个属性是必须属性还是可选属性。
schema的构成要素包括对象类(object classes)、属性类型(attribute types)、匹配规则(matching rules)、语法(syntaxes)等。其中,语法和匹配规则是不可扩充和修改的,属性类型和对象类可以使用Admin Console进行添加、修改、删除。
LDAPv3中,schema的构成是由《RFC2252 Lightwright Directory Access Protocol(v3): Attribute Syntax Definitions》(以下简称RFC2252)定义的。IETF为制定LDAPv4而形成的草案《LDAP: Directory Information Models <draft-ietf-idapbis-models-01.txt>》(以下简称”models草案”)对RFC2252作了部分修订。本文将主要以RFC2252为依据,同时兼顾草案的新内容。
schema元素有系统定义的和用户定义两类。一般用户只能定义属性类型和对象类。 系统定义的schema元素最小集合由RFC2252、models草案和《RFC2256 A Summary of the X.500(96) User Schema for use with LDAPv3》(以下简称RFC2256)规定,这是一般的LDAP server都支持的。