2011-01-05 73 views
0

我想知道如果使用活動目錄存儲與應用程序相關的實體是一種理智的想法,但並非所有實體類型都是傳統的AD實體,例如組織單位,用戶,組,等等。使用活動目錄存儲數據

目前,我有一個數據庫模式組成的東西,如客戶和用戶。每個客戶都可以擁有自己的部門。每個部門可以有一組用戶。每個用戶都可以擁有一個名稱,身份驗證細節等。一位同事提醒我Active Directory已經有支持這種層次結構的基礎結構,因此從頭開始重建可能不是最佳選擇。

現在,我的問題是,我將需要更多的實體,而不僅僅是客戶,用戶等。我將不得不存儲統計信息,文檔,聯繫人(不是系統中的用戶)以及其他信息。要輕鬆選擇一個數字,可能會有10-20個額外的實體類型在Active Directory中不存在。這些實體類型將被「鏈接」到客戶,用戶等等。該系統中的用戶不是本地網絡中的用戶,而是通過互聯網訪問我的軟件。

我對活動目錄只有非常模糊的理解,但據我所知,我將不得不擴展AD模式來存儲我自己的實體。我將不得不添加屬性到「組織單位」,如「文件列表」。

另一種方法可以是依靠AD中的組織單位,用戶和組,並具有單獨的MSSQL數據庫來存儲剩餘的數據。然後,我的MSSQL數據庫必須使用它的唯一標識符或任何它所稱的鏈接將實體(如'聯繫人')鏈接到特定的OU或用戶。

對此有何看法?將複雜類型存儲在AD中而不是MSSQL數據庫中是否明智?

(實體是最有可能很少,足使性能不成問題在任何情況下)

回答

0

你所描述可以做得到。我已經看過了。你可能會發現AD非常沉重,並且爲了這樣的使用而過度使用。管理和長期維護將非常昂貴。我不會推薦它。使用數據庫可能是適合您的解決方案。另外,如果你沒有現有的數據庫或者不想暗示其中一個,你可以使用Active Directory Lightweight Directory Services(AD LDS,以前稱爲ADAM)。這被設計成一個更輕量級的目錄,並且運行在自己的模式中,因此您不必更改現有的AD基礎架構。我過去曾經使用過,而且維護起來要容易得多。另一個優點是它使用與AD相同的框架和SDK。

+0

有趣! – 2011-01-05 15:23:49

+0

我使用過這個,並在這個場景中推薦ADAM over Database – Raymund 2011-01-06 01:21:46

+0

Raymund,小心描述爲什麼你推薦ADAM over數據庫?說實話,我有點難以理解爲什麼我應該在ADAM中存儲數據,只是因爲ADAM中已有20個實體中已有2個。 – John 2011-01-07 07:27:10