我们希望将一些数据存储在 389 Directory Server LDAP 中,这些数据与产品附带的标准架构集不太匹配。没有什么特别的,比如:
- 当客户加入时
- 他们目前活跃吗
- 客户证书[1]
- 他们正在使用哪个环境
我的问题是:我们是否应该在 OID 注册并开始编写我们自己的自定义架构,或者是否存在 Directory Server 未提供的标准架构定义,我们可以下载并使用以满足我们的需求?我们是否应该修改/破解现有属性并将数据存储在其中(我强烈反对这样做,但对为什么这比扩展更好感兴趣)?
[1] 我知道有一个针对此 userCertificate 的字段,但我们不想使用它来出于绑定的目的验证用户身份
使用 CentOS 5.5 和 389 Directory Server 8.1
答案1
除非现有的 ObjectClasses 具有您想要的属性,否则您需要扩展 LDAP 服务器的架构以合理地支持这些新属性(最好是将现有属性混合/回收用于新用途,并且更加灵活)。
如果已经有满足您要求的 ObjectClasses,最好让您的实体成为它们需要的所有 ObjectClasses 的成员,以具有您需要的属性。
如果您要创建新的字段/对象,而您的组织尚未拥有私有企业编号,则需要注册私有企业编号(http://pen.iana.org/pen/PenApplication.page) 将您的 LDAP OID 放在下面。
有关扩展架构的更多信息,请参阅 LDAP 服务器的文档(对于 389 目录服务器,部署指南,第 3.4 节是一个很好的起点)。