試圖用OpenLDAP做一些應該很簡單的事情,但似乎無法找到明確的答案。我需要能夠根據他們的「類型」組織任何人的聯繫人屬性。例如,電子郵件將是類型6.因此,如果我想發送電子郵件給我的OU的所有成員,我會選擇那些具有類型6地址的。具有「聯繫類型」屬性的ldap對象類
由於LDAP屬性是一個名稱,值對,我沒有看到如何分配一個額外的屬性到聯繫地址,但它似乎是一個足夠普遍的問題。有什麼建議麼?
試圖用OpenLDAP做一些應該很簡單的事情,但似乎無法找到明確的答案。我需要能夠根據他們的「類型」組織任何人的聯繫人屬性。例如,電子郵件將是類型6.因此,如果我想發送電子郵件給我的OU的所有成員,我會選擇那些具有類型6地址的。具有「聯繫類型」屬性的ldap對象類
由於LDAP屬性是一個名稱,值對,我沒有看到如何分配一個額外的屬性到聯繫地址,但它似乎是一個足夠普遍的問題。有什麼建議麼?
目錄服務器模型中的屬性實際上是名稱[可選選項]值結構。要完成您描述的任務,您可以爲條目分配另一個屬性。 RFC2798定義了employeeType
(link)屬性類型,其語法爲DirectoryString
,等式匹配規則爲caseIgnoreMatch
。也許這個屬性可以用於你的目的。如果您分配了類似的屬性:
employeeType: type 6
那麼LDAP客戶端會發現所有的員工提供一個過濾器像
(&(employeeType=type 6)(objectClass=inetOrgPerson)).
如果你有關於匹配是caseIgnoreMatch
擔心,你可以指定服務器使用caseExactMatch
通過使用可擴展的匹配濾波器等:
(&(employeeType:caseExactMatch:=type 6)(objectClass=inetOrgPerson))
employeeType
是多值的,因此,員工可能有多個employeeType
。任何有效的DirectoryString值都可以分配給employeeType
。
謝謝,這對一個人很有用,但如果我需要爲擁有電話號碼和電子郵件的人創建記錄,並且我希望將電話號碼標記爲聯繫類型10,並將電子郵件作爲聯繫人類型35? – Mordechai
爲了滿足這個要求,可能有必要定義新的屬性來保存關於聯繫人類型的信息。如果在模式中定義了新屬性,則可以將它們命名爲'companyNameHereMailContactType','companyNameHereTelephoneNumberContactType'。或者,「employeeType」屬性值的格式可以是「mailContactType type 6」,另一個「employeeType」屬性的值爲「telephoneNumberContactType type 10」等等。有很多方法可以完成我認爲你正在描述的內容。否則我可能完全誤解你。 –
你對我的理解很好。而我的問題恰恰來自衆多選擇。接觸點是一個物體,一個人是一個物體。在一個面向對象的宇宙中,人們會有一個接觸點屬性來保存聯繫點信息。問題是在LDAP的名稱/值對世界中執行此操作的最佳方式是什麼。 – Mordechai