2014-04-22 25 views
0

我正在提供以下場景,我發現很難弄清楚如何創建要管理的數據庫結構。任何指導和解決方案都將有所幫助具有繼承和覆蓋的分層ACl

我們將域作爲頂級域,可以在每個域下創建多個組,同樣多個用戶可以屬於域中的每個組。 我們也有模塊(如常見問題解答,產品等)和操作(添加,編輯,刪除,查看等)。每個模塊可以有多個動作(如Add_FAQ,Edit_FAQ等)。

案例1

我們需要管理這些模塊的操作權限,權限可以提供域,組和用戶。如果某個域名有權執行某項操作,則系統會自動允許其下的所有用戶組和用戶。通過爲組或用戶提供與給予其父項的權限相反的權限,可以覆蓋權限。例如,域X有兩個組(grp1,grp2),每個組有兩個用戶user1_grp1,user2_grp1, user1_grp2,user2_grp2。現在允許X刪除FAQ,這意味着所有組和用戶都被允許。現在grp1被拒絕刪除FAQ,並且user2_grp2被拒絕刪除FAQ。所以最後只剩下user1_grp2來刪除FAQ。 如果未在較低級別定義權限,則會考慮父級權限。

案例2

同樣類似的權限,我們只允許或拒絕,有必要進行管理設置&值例如,它被設置在一次顯示20個記錄域,但價值20可以被一個組或用戶覆蓋50。這意味着用戶和組一次將看到50條記錄,而在該域下休息的記錄將有20條記錄。

任何人都可以幫助建議如何使用數據庫進行管理。在此先感謝

回答

0

我建議你看看acl魔術。 https://github.com/salboaie/acl-magic 通過創建組(角色),資源和適當的「關注點」的層次結構,您可以建模您的用例。任何數據庫都可以輕鬆實現「持久性」方面。