這篇分享一下 ASP.NET MVC權限控制。也就是說某一用戶登錄之後,某一個用戶是否有權限訪問Controller,Action(操作),視圖等
想實現這些功能,需要在數據庫創建好幾個表:[User],[Module],[Form],[Action],[Role],[RoleModule],[UserModule],[UserRole]。
[User]:是存儲用戶信息。
[Module]:是存儲ASP.NET的Controller名的表。整個專案中,所有需要管控的Controller均需要添加至此表中。
[Form]和[Action]:是存儲控制器的Action。只不過Insus.NET自己把它分開而已。
此2張表中,你會注意到有一個事件。它事件就是此Action的實際功能歸屬,此Action是Delete,Edit,Excute,Insert,Read,Update,Bulk Update。
[Role]:存儲角色,管理員創建的角色權限全部存儲於此。
[RoleModule] :這表好理解,即是角色將擁有哪一些模塊。
分配模塊:
在上面的分配模塊中,你可以確定此角色對某一模塊是有訪問,插入,編輯等。
[UserModule]:這表是某一用戶直接擁有哪些模塊。
[UserRole]:此表對應用戶與角色相關,即用戶歸屬哪一個角色:
寫一個存儲過程,判斷是否有權限,傳入參數,用戶,控制器,操作。
最後寫一個過濾器:
思路與實現就這樣子,理解了,什麼都是簡單的。