在几乎所有的 LDAP服务器中,都要根据需要扩展基本的LDAP目录的功能,创建新的对象类或者扩展现存的对象类。所有对象类都从其父对象类继承。
objectClass有着严格的等级之分,最顶层是top和alias。例如,organizationalPerson这个objectClass就隶属于person,而person又隶属于top。
objectClass可分为以下3类:
结构型(Structural):如person和organizationUnit;
辅助型(Auxiliary):如extensibeObject;
抽象型(Abstract):如top,抽象型的objectClass不能直接使用。
1. D:\OpenLDAP\schema目录 下新建 my.schema
# Attribute Type Definitions
attributetype ( 2.5.4.72 NAME 'aafUserTableUserId'
DESC 'aafUserTableUserId'
SUP name
)
attributetype ( 2.5.4.75 NAME 'aafUserOrganId'
DESC 'aafUserOrganId'
SUP name
)
attributetype ( 2.5.4.76 NAME 'aafUserUserName'
DESC 'aafUserUserName'
SUP name
)
attributetype ( 2.5.4.77 NAME 'aafUserPassword'
DESC 'aafUserPassword'
SUP name
)
# Object Class Definitions
objectClass ( 2.5.6.44 NAME 'aafUserTable'
DESC 'aafUser'
SUP person STRUCTURAL
may ( aafUserTableUserId $ aafUserOrganId $ aafUserUserName $aafUserPassword)
)
注意:
1. oid 需要保证全局唯一 如: 2.5.4.56 2.5.6.24
具体参考:
https://blog.csdn.net/bjd14/article/details/4331133
2. 属性名和类名 需避免关键词
如: person user 等
3.自定义schema,最好继承 person 或者 organizationalUnit
2. D:\OpenLDAP\slapd.conf 中引入my.schema
include ./schema/my.schema