自定义schema的时候不仅要定义attributetype还要定义objectclass(程序或者ldif文件中是objectClass,大小写注意)。

增加一个节点,属性中至少需要定义一个objectClass,而且要注意objectClass里面MUST值,这是必须要写的,不然就会报错,如果想在属性中增加另外的objectClass,如果MUST值没有可以直接增加,如果有的话还必须要同时把需要的那个属性值增加上去

objectClass分为3种类型:"ABSTRACT" / "STRUCTURAL" / "AUXILIARY"
一般来说每个节点都要包含一个ABSTRACT类("top" or "alias"), 至少一个STRUCTURAL类,0个或者多个AUXILIARY类。

例如core.schema中已定义的

objectclass ( 2.5.6.6 NAME 'person' 

 DESC 'RFC2256: a person' 

 SUP top STRUCTURAL 

 MUST ( sn $ cn ) 

 MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) ) 


objectclass ( 2.5.6.15 NAME 'strongAuthenticationUser' 

 DESC 'RFC2256: a strong authentication user' 

 SUP top AUXILIARY 

 MUST userCertificate )