我目前正在为我的组织创建自定义 LDAP 模式,但我找不到如何为对象类提供允许您引用另一个条目的属性。
例如:我有一个注册对象类。它有一个属性,链接到注册的用户。该用户也是 LDAP 数据库中的条目(人员对象类)。
当我寻找别名、参考等但却找不到如何去做的时候。
有人能让我再次前进吗?
答案1
.schema format
attributetype ( $OIDNUMBER NAME '$attribute-name'
DESC '$description-of-attribute'
SUP distinguishedName )
您仍然需要定义一个objectclass
that may
/ must
use this attributetype
。
(在 OpenLDAP 中distinguishedName
内置于系统模式中。)
这实际上不是别名,而是一种允许 dn 值条目的属性类型。
最常见的例子是groupOfNames
and member
from core.schema
。
attributetype ( 2.5.4.49 NAME 'distinguishedName'
EQUALITY distinguishedNameMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
attributetype ( 2.5.4.31 NAME 'member'
DESC 'RFC2256: member of a group'
SUP distinguishedName )
objectclass ( 2.5.6.9 NAME 'groupOfNames'
DESC 'RFC2256: a group of names (DNs)'
SUP top STRUCTURAL
MUST ( member $ cn )
MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )
dn: cn=postmasters,ou=groups,dc=domain,dc=tld
objectClass: groupOfNames
cn: postmasters
member: uid=user1,ou=users,dc=domain,dc=tld
member: uid=user2,ou=users,dc=domain,dc=tld
答案2
LDAP 未指定自动链接到另一个对象或属性的权威数据的方法。当您在 LDAP 中看到别名等时,它们通常是具有属性的对象,该属性指定应该实际读取哪个对象来代替别名。这是因为 LDAP 本质上是对象的分层存储,而不是关系数据存储。跟踪别名等是读取 LDAP 数据的实现细节,而不是 LDAP 存储本身的低级功能(尽管有时像 eDirectory 这样的高度抽象的环境会自己执行此操作)。
您可能想要做的是类似上述的事情,其中您有一个包含“链接”对象的 DN 的属性,并确保调用“链接”的任何内容都知道对另一个 DN 进行第二次查找。