自定义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 )