2011-12-14 212 views
0

我試圖創建一個基於LDAP的地址簿。對於其中的每個收件人/用戶,我需要存儲有關其聯繫點的信息。信息將包括:
聯繫方式 - 電話/電子郵件/傳真/尋呼機/等。
標籤 - 奶奶的閣樓,工作,家庭等
地址 - 實際電話號碼/電子郵件/等。
和其他一些特性OpenLDAP如何創建和使用是inetOrgPerson的子對象類

我現在想通了,沒有什麼出匣,可以處理這個問題,但我可以創建自己的對象類ContactPoint,使其成爲一個結構類,並讓它成爲一個孩子的inetOrgPerson。但我仍然無法圍繞這一切如何聚集在一起。例如,我如何查詢一個人和他/她的聯繫點?

回答

1

使之成爲inetOrgPersonextensibleObject。然後你可以使用任何地方的任何屬性。我會避免定義你自己的對象類。

+0

感謝,但我不能」找到任何對象類,例如包含聯繫人標籤或聯繫人類型(儘可能基本)。另外,我需要能夠將一個或多個聯繫點對象與一個人物對象相關聯。我不明白你的建議是如何實現這一目標的。 – Mordechai 2011-12-18 07:28:44

+0

@MorDeror`inetOrgPerson`已經擁有`mail`,`telephoneNumber`,`homePhone`,`internationalISDNNumber`,`facsimileTelephoneNumber`,`pager`,`postalAddress`,`homePostalAddress`等等的屬性等等。其他LDAP模式類型超出`inetOrgPerson`。當然,如果他們沒有一個完全按照你想要的那樣做,你將不得不推出自己的產品,就像特里所說的那樣。 – EJP 2011-12-18 08:36:10

0

LDAP被設計爲可擴展的,並且經常需要定義新的模式元素。當客戶找不到具有他們想要的語法和名稱的屬性時,他們應該用適當的對象類定義一個新屬性。設計師應該:

  • 知道現有的架構元素
  • 利用現有的架構元素,其中可能
  • 不使用特定供應商的屬性,這導致質量差,易碎系統。只可使用由標準組織定義的架構屬性和對象類從現有的對象類,而不是定義一個新的對象類
  • 使用匹配規則(從屬性類型定義(當然,除非你滾你自己)
  • 繼承)進行比較,而不是使用語言平等結構。除非絕對需要,否則應避免extensibleObject
  • 。使用extensibleObject是不得已的選擇,類似於使用非類型化的編程語言,並在質量差,易碎的結果,難以維持系統

欲瞭解更多信息,請參閱"LDAP: Programming Practices"

相關問題