OpenLDAP如何创建和使用作为inetOrgPerson子元素的对象类

时间:2011-12-14 18:39:22

标签: object ldap hierarchy addressbook

我正在尝试创建基于LDAP的地址簿。对于其中的每个收件人/用户,我将需要存储有关其联系点的信息。信息包括:
联系方式 - 电话/电子邮件/传真/寻呼机/等 标签 - 奶奶的阁楼,工作,家庭等。
地址 - 实际电话号码/电子邮件/等 和其他一些属性

我现在已经知道没有什么可以解决这个问题,但是我可以创建自己的ContactPoint ObjectClass,使它成为一个结构类,让它成为inetOrgPerson的孩子。但我仍然无法理解这一切是如何结合在一起的。例如,我如何查询一个人和他/她的联系点?

2 个答案:

答案 0 :(得分:2)

LDAP旨在可扩展,并且通常需要定义新的架构元素。当客户端找不到具有所需语法和名称的属性时,他们应该使用适当的对象类定义新属性。设计师应该:

  • 了解现有架构元素
  • 尽可能使用现有的架构元素
  • 不使用特定于供应商的属性,这会导致质量差,系统脆弱。仅使用标准体定义的模式中的属性和对象类(当然,除非您自己动手)
  • 继承自现有对象类,而不是定义新对象类
  • 使用匹配规则(来自属性类型定义)进行比较,而不使用语言相等构造。
  • 除非绝对必要,否则
  • 避免使用extensibleObject。使用extensibleObject是最后的选择,类似于使用无类型编程语言,导致质量差,易碎,难以维护的系统

有关详细信息,请参阅"LDAP: Programming Practices"

答案 1 :(得分:1)

将其设为inetOrgPersonextensibleObject。然后,您可以在其中的任何位置使用任何属性。我会很清楚地定义你自己的对象类。