Object OpenLDAP如何创建和使用inetOrgPerson的子对象类

Object OpenLDAP如何创建和使用inetOrgPerson的子对象类,object,ldap,hierarchy,addressbook,Object,Ldap,Hierarchy,Addressbook,我正在尝试创建一个基于LDAP的通讯簿。对于其中的每个收件人/用户,我需要存储有关其联系人的信息。信息将包括: 联系人类型-电话/电子邮件/传真/寻呼机等 标签-奶奶的阁楼、工作、家等。 地址-实际电话号码/电子邮件/等 和其他一些属性 到现在为止,我已经发现没有现成的东西可以处理这个问题,但是我可以创建自己的ContactPoint对象类,使其成为一个结构类,并使其成为inetOrgPerson的子类。但我似乎仍然无法理解这一切是如何结合在一起的。例如,我如何查询一个人及其联系人?将其设置为i

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


到现在为止,我已经发现没有现成的东西可以处理这个问题,但是我可以创建自己的ContactPoint对象类,使其成为一个结构类,并使其成为inetOrgPerson的子类。但我似乎仍然无法理解这一切是如何结合在一起的。例如,我如何查询一个人及其联系人?

将其设置为
inetOrgPerson
extensibleObject
。然后,您可以在其中的任何位置使用任何属性。我会尽量避免定义自己的对象类。

使其成为
inetOrgPerson
extensibleObject
。然后,您可以在其中的任何位置使用任何属性。我会尽量避免定义自己的对象类。

LDAP设计为可扩展的,通常需要定义新的模式元素。当客户端找不到具有所需语法和名称的属性时,应该使用适当的对象类定义一个新属性。设计师应:

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

有关更多信息,请参见

LDAP设计为可扩展的,通常需要定义新的模式元素。当客户端找不到具有所需语法和名称的属性时,应该使用适当的对象类定义一个新属性。设计师应:

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

有关更多信息,请参见

谢谢,但我找不到任何对象类,例如包含联系人标签或联系人类型(看起来很基本)。此外,我需要能够将一个或多个接触点对象与一个person对象关联。我看不出你的提议是如何实现的。@MorDeror
inetOrgPerson
已经有了
mail
telephoneNumber
homePhone
internationalISDNNumber
facsimileTelephoneNumber
pager
postalAddress
homePostalAddress
等,并且除了
inetOrgPerson
之外,还有大量其他LDAP架构类型。当然,如果他们没有一个能完全做到你想要的,你就必须像特里建议的那样,自己动手。我知道我必须“自己动手”。我的问题是如何“滚动”两个级别的对象,即一个人(比方说inetOrdPerson的某个版本)和他/她的具有自己属性的联系人。你提到的属性don@Mordechai你打算完成最后一句话吗?谢谢,但我找不到任何对象类,例如包含联系人标签或联系人类型(看起来很基本)。此外,我需要能够将一个或多个接触点对象与一个person对象关联。我看不出你的提议是如何实现的。@MorDeror
inetOrgPerson
已经有了
mail
telephoneNumber
homePhone
internationalISDNNumber
facsimileTelephoneNumber
pager
postalAddress
homePostalAddress
等,并且除了
inetOrgPerson
之外,还有大量其他LDAP架构类型。当然,如果他们没有一个能完全做到你想要的,你就必须像特里建议的那样,自己动手。我知道我必须“自己动手”。我的问题是如何“滚动”两个级别的对象,即一个人(比方说inetOrdPerson的某个版本)和他/她的具有自己属性的联系人。你提到的属性don@Mordechai你打算完成最后一句话吗?谢谢Terry,这是非常好的一般信息,但它与我的提问有什么关系?谢谢Terry,这是非常好的一般信息,但它与我的提问有什么关系?