2016-09-22 34 views
0

我有一個需求來構建一個與LDAP V3兼容的服務器(如開放LDAP/AD)接口的幾個REST API。我的主要問題是,如果一臺服務器符合LDAP v3標準,它是否具有根據標準L定義的屬性(與AD中的samAccount相反)?這樣就可以構建一個集成了所有LDAP V3服務器的集成代碼。所以如果我必須在任何LDAP V3服務器上創建/查詢用戶,我使用相同的代碼使用標準的LDAP屬性,而不使用供應商特定的屬性,如「samaaccount」或「memberOf」。這是否有可能[就像我要編寫符合JPA的代碼一樣,我可以同時使用hibernate,eclipselink作爲ORM提供程序]?或者我誤解了LDAP v3合規性?構建LDAP V3兼容應用程序意味着什麼?

回答

0

LDAPv3是關於功能,而不是屬性。取決於使用哪個Schemata,LDAP-Server可以保持的屬性不同。因此,您不能指望LDAPv3兼容服務器識別具有修復屬性類型的用戶。您可以期望LDAPv3兼容服務器能夠理解SASL,推薦或控制。但是您將需要根據使用的LDAP-Backend來創建需要使用的可配置屬性。

+0

謝謝heiglandreas。爲我釘了它。 –

+0

謝謝!隨意標記爲正確的答案;) – heiglandreas

0

使用的屬性將因目錄而異,甚至在相同目錄的實現中也會有所不同。我見過的每個應用程序都能正確地爲管理員提供一個屏幕或配置文件,以將應用程序中的屬性映射到相應的LDAP目錄屬性。

+0

謝謝Brian。我與你在一起,目錄配置因供應商而異。我的問題是,LDAP V3是否爲配置參數創建了標準屬性名稱[並且符合V3就緒的供應商],這有助於開發人員編寫一次集成代碼,並在多個供應商無縫切換時使用相同的代碼。例如,如果我要堅持一個標準的JPA [Java持久性API]實現,我可以插入任何ORM實現,例如eclipselink,hibernate。就像使用LDAP V3服務器時可用的那樣。 –

+0

我的理解/解釋是否對LDAP V3合規性有誤解? –

+0

你會發現在目錄的'RootDSE'上有'supportedControls'屬性,它會有一系列標準化的條目來告訴你該目錄能夠做什麼。例如,它不會告訴你某人的用戶名存儲在哪個屬性中。 –

0

LDAPv3是一個可以擴展的標準協議,數據模型和模式。 在我看來,構建一個訪問LDAPv3兼容服務器的服務必須使用協議和數據模型,並理解默認/標準模式,但必須在屬性,對象類和目錄結構上進行配置。

+0

謝謝盧多維奇。 –