天天看點

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(24)-權限管理系統-将權限授權給角色

過了個年回來,回顧一下,我們上次講了角色管理,我們這一次來講将權限授權給角色,這一節也是大家比較關心的。因為我們已經跑通了整個系統,知道權限的流轉,我們先來看一張圖

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(24)-權限管理系統-将權限授權給角色

這張圖主要分要3塊,角色組----系統子產品----操作碼授權

選擇角色組(表示要授權的角色,選擇需要授權的子產品,最後授權操作碼。當存在一個操作碼時候,我們應該改變SysRight表中的rightflag字段,表示他有權限。不知道大家是否還記得,這個圖也是我們要做的。由于圖中用的是JQGrid看起來跟Easyui有點差别,但是方式卻是一樣的)

回到頭看到SysRightOperate表的IsValid,我們将授權角色和子產品和操作碼這3張表關聯起來,其中IsValid字段是來辨別是否有操作的權限,當第一次授權,那麼是向SysRightOperate添加一條記錄,如果下次更新先判斷是否已經授權如果沒有,那麼删除或者更新IsValid,我這裡是更新,你也可以删除掉,一樣的道理。

之前我們已經建立過SysRight這個表的DAL層和BLL層了,根據想法,我們隻要建立多兩個方法

更新SysRightOperate(即上面所說)

和按選擇的角色及子產品加載子產品的權限項(确定操作碼是否被授權,即圖中的複選框)

現在向ISysRightRepository添加2個方法

P_Sys_GetRightByRoleAndModule_Result這個是存儲過程,由于這2個方法比較複雜,這裡用存儲過程來做

是以必須要把這個存儲過程添加到EF,并生成複雜類型的實體P_Sys_GetRightByRoleAndModule_Result

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(24)-權限管理系統-将權限授權給角色

然後建立P_Sys_UpdateSysRightRightFlag

這個是計算上級子產品的rightflag辨別也就是開頭所說的RightFlag字段,這個字段将決定導覽列的顯示,是以每一次授權操作都要執行

下面添加SysRightRepository邏輯代碼

按照習慣,我們要向IBLL 和BLL 添加代碼,大家自行添加通路DAL層的代碼即可

比較繁瑣的還是Controller層和頁面UI的代碼,這些先貼出

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(24)-權限管理系統-将權限授權給角色
建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(24)-權限管理系統-将權限授權給角色

Controller

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(24)-權限管理系統-将權限授權給角色
建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(24)-權限管理系統-将權限授權給角色

Index

最後效果圖

建構ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的背景管理系統(24)-權限管理系統-将權限授權給角色

這次釋出還是做得比較認真的。大家可以詳細細讀代碼和存儲過程。不清楚的歡迎留言,必定回答

接下來是講角色和使用者的互相授權,有興趣的朋友可以先做做看。

繼續閱讀