2010-03-02 51 views
1

我正在尋找一個通用的開放源碼數據庫架構來實現基本登錄和用戶角色管理。用於分層用戶和角色表示的數據庫架構

用戶:屬於屬於客戶的業務單位。

用戶有角色 - 經理,區域經理,現場經理,工人等,用戶可以依賴的業務單元和多個業務部門的多重角色..

業務單元屬於客戶。 業務單位可以包含其他業務單位(地區包含其他地區包含業務單位)。

特點:描述系統中的行爲實體。 功能分配給用戶或角色或兩者,並且業務單位和/或客戶端具有在系統內活動的功能。

舉例來說,它是一個會計系統,並且具有諸如應付賬款,應收賬款,報告,總賬等功能,基於活動中的客戶/業務單位/角色/用戶的活動,用戶看到是那個有源矩陣層次結構。

有沒有人有類似這樣的模式參考,滿足這些基本要求?如果它具有基於Web的界面的代碼(用戶登錄,管理用戶,區域,角色等),則爲獎勵.Net C#首選,但我可以翻譯。

+0

外貌像一個家庭作業問題。如果我解決這個問題,我可以獲得學位嗎? – dar7yl 2010-03-02 20:19:23

+1

明確地說不是作業,只是試圖在一些設計思想上加強。 PS,我在25年前實際上教過CS班。 :) – 2010-03-02 20:57:51

回答

0

不正是你要找的東西,但一個開始:

http://www.databaseanswers.org/data_models/user_identity_management/index.htm

你看一看ASP.NET成員資格?有一個腳本可以創建.net目錄中的所有對象。如果您在Visual Studio中使用默認值創建網站,則有一個網站管理工具來管理用戶。

+0

那麼,這是一個開始,會看到還有哪些其他選項沿着這些路線彈出。謝謝。也許這兩者的結合將提供我預見的這個級別的許多需求。 – 2010-03-02 20:16:38

1

要求在SQL數據庫中實現這個要求有多困難?有很多設計可以工作,但是如果你正在尋找現成的東西,那麼你所描述的是LDAP,以tee。這只是描述協議,但有許多不同的開源實現,包括Apache Directory ServerOpenLDAP。維基百科有一個廣泛的list of LDAP software

這是要考慮的事情。如果您需要將其與另一個SQL數據庫緊密集成,爲用戶強制執行參照完整性等,那麼這可能對您無效。但是如果你正在尋找一些通用和可擴展的東西,這可能是一條可行的路。您會發現大多數成員/角色數據庫(如由ASP.NET SQL Server Registration Tool創建的數據庫)都不是分層的,因爲鬆散層次結構有點複雜。

如果您需要嵌套任意數量的業務單位,那麼管理所有規則和覆蓋並不是一項簡單的任務。這正是我們擁有分層目錄協議的原因。

(注 - 如果您在微軟環境是已經那麼的Active Directory將是顯而易見的選擇;它不是開源的,但它可能是最強大和最良好支持的任何目錄服務器)

+0

真的在尋找SQL腳本和管理 - 它確實比我描述的更復雜,但是尋找一個開始的地方。訪問很重要,但層次結構所形成的業務層的管理更加需要。 – 2010-03-02 20:11:26

+0

不幸的是,管理層次結構不僅僅是創建數據庫模式;有各種各樣的分層查詢,報告,規則等等。一般而言,您正在尋找某種「繼承」。這不過是「基本」。這就是爲什麼有那些執行這些功能的整個系統。如果你不能使用它,那麼這聽起來像你已經理解了關係,所以只需使用其中一種常見模型 - 鄰接表,嵌套集,物化路徑或'hierarchyid'來建模主要層次關係(業務單元)。 – Aaronaught 2010-03-02 22:53:20

相關問題