2013-06-19 15 views
0

我們有多個使用OpenLDAP進行身份驗證和存儲數據的應用程序。我們有很多來自多個應用程序的數據庫的OpenLDAP實體的鏈接(每個應用程序都有自己的數據庫),因此當您更改OpenLDAP實體時,您必須跟蹤對象更改(當前我們使用DN作爲參考鍵)。在LDAP內部,我們沒有幾個引用,比如用戶可以訪問哪些對象,因爲它們可以有非常特定的訪問權限(訪問權限不依賴於層次結構),LDAP也不會跟蹤這些更改,因此一旦這些引用的對象被移動我們需要在LDAP和多個數據庫中跟蹤它們。使用LDAP不僅用於身份驗證,而且用於存儲數據

我是linux和OpenLDAP的新手(我們有它在linux上運行),但對我來說,這似乎是一個錯誤的方式來處理事情,它似乎就像我們使用LDAP的方式,它沒有設計(像這樣使用它的想法來自高級開發人員)。

我的問題是:

  1. 有什麼壞在我所描述的方式來使用LDAP。

  2. 我該如何更改OpenLDAP架構來爲我們使用的所有對象類創建類似GUID的東西,這樣至少我們可以存儲對象GUID而不是DN,並且不必跟蹤更改。如果我更改模式,我將能夠執行搜索並通過此GUID篩選?

回答

1

對不起,但你的架構描述對我來說不是很清楚,所以如果這樣使用它不好,我不能寫。

在一個公司中有多個目錄在中大公司很常見(大部分時間是由於歷史原因),但對於單一登錄「Meta目錄」設置爲具有單一認證點。

在我看來,DN絕對不是將對象指向目錄的方式,因爲移動對象正在改變他的DN。每個目錄都有一個從「top」類繼承的屬性,該類在目錄中包含唯一標識符。在OpenLDAP中它是entryUUID

entryUUID: bec561c4-c5b0-102a-81c0-81bc30f92d57 

如果你想在一個不太大的目錄,你也可以使用參照完整性鏈接DATAS,該用戶的方式鏈接到組(當您移動用戶不必看各組它屬於)操作系統目錄中(RefInt Overlay in OpenLDAP)。

+0

謝謝,但我不能添加entryUUID屬性,說posixAccount條目(它也有對象類頂部,orgPerson,人)。但是我可以更改模式以允許此屬性,但在這種情況下,Apache Directory Studio將此屬性編輯爲文件內容。只有在LDAP中使用觸發器才能完成引用完整性? – Felix

+0

對我來說[entrUUID](http://tools.ietf.org/html/rfc4530)是一個操作屬性(添加到您的Ldapsearch命令中以查看它)。是的,據我所知,參照完整性總是使用某種觸發器,並在後端數據庫中引入一些要求。 – JPBlanc