2013-05-12 34 views
1

首先,在您將我引薦到會場之前,我想說我已花費大量時間閱讀和研究此主題。我看過一些關於計算器本身如實施訪問控制列表vs使用數據庫角色和用戶

  1. How can I implement an Access Control List in my Web MVC application?
  2. Database schema for ACL

我發現有趣的是,它必然向我解釋如何創造一個良好的ACL實現,我跟着從兩種方法這些。我還提到了Korth的Database Concepts,以瞭解查詢優化和性能影響。

但我真正的問題歸結爲這種愚蠢的做法。爲什麼在數據庫上創建角色並授予對錶的權限然後使用相應的角色訪問數據庫會更好。由於我使用的是SQL SERVER,因此我所要做的就是在連接字符串上指定用戶名和密碼並將其與之結合。我只想知道這種方法的優點和缺點,而不是花費大量時間編寫和測試自己的ACL實現(認爲學習很有趣:D)。所以請指教。

回答

2

好的,很好,發現了這樣一個問題:「爲什麼在數據庫上創建角色併爲表授予權限然後使用相應角色訪問數據庫不是更好?」。 :)

區別在於前端,站點管理和數據庫管理之間。

考慮論壇。您可能有一個角色或標題的列表,每個角色或標題都有一組不同的權限,以表示他們可以做什麼和不可以做什麼。這可能包括閱讀,發佈,回覆,創建新主題和創建主題。

論壇用戶只會看到這些角色,而網站管理員將能夠看到這些角色的權限。只有數據庫管理員才能看到這些角色與數據庫帳戶的關係。

某些帳戶可能在一個實例中具有插入權限,但在另一個實例中可能具有插入特權,但在另一個實例中可能具有相同的實例。通過將用戶帳戶與具有設置ACL權限的角色關聯起來,該角色可以與SQL帳戶配合使用,以在後臺提供適當的訪問權限。

我希望能回答你的問題。 :)

+0

非常感謝。這有助於:D – WrathOfZombies 2013-05-12 09:13:10

相關問題