MVC与单元测试实践之健身网站(三)-角色与权限
?
管理員的維護功能完成后,還有權限和角色,三者構成權限系統。這里采用的RBAC是最經典、最簡單的一種,權限-角色-管理員只能層層傳遞,并不能直接為管理員分配權限。
?
一 權限、角色管理
a) 權限
之前編寫好了分頁組件,在權限列表直接用起來了,可惜假數據只有一頁
?
?
視圖背后對應的Action是PermissionController.List。List方法獲取分頁數據,默認取第一頁不用多說。
?
?
權限、角色、管理員的添加、編輯界面都比較類似。
?
?
新增、編輯、刪除使用異步提交。新增、編輯的異步提交使用上一篇學到的方法,刪除直接在列表界面操作,使用普通的ajax請求方式
?
?
?
二 權限的分配
a) 權限的分配在角色、管理員的新增和編輯界面進行
?
?
不得不說,自我感覺這套模板真是很舒服的,連勾選框的對勾都做的這么用心。但我不會用,導致權限列表過于靠左了,這塊還得想辦法調節一下。這塊使用了BootStrap的特色布局,經過多次試驗,col-sm-3最適合了,再大則會過早地觸發自適應。
?
b) 在cshtml頁面中可以自動循環來創建權限列表,通過這種html與C#代碼混合的方式,生成每行三列的權限列表。但有一段@Html.Raw(@"</div><br /><div class='row'>")是因為</div>找不到匹配的標簽,rzaor無法處理,需要用Raw方法來輸出。這類模板引擎很強大。
?
?
c) 一個關于數據操作的問題
權限操作設計到兩張中間表,權限-角色表、角色-管理員表,在寫入這些表時,直接使用封裝好的repository方法是不行的,比如下面的做法,會因為不在一個上下文(Context)而報錯。
?
?
正確的做法是使用與roleRepository系統的上下文類,然后便開始改造,接口中增加了屬性。第一次在接口中使用屬性,不過屬性本來就是方法,今天被逼出來了哈哈。
?
?
?
轉載于:https://www.cnblogs.com/zhixin9001/p/6965152.html
總結
以上是生活随笔為你收集整理的MVC与单元测试实践之健身网站(三)-角色与权限的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【线性代数】向量空间
- 下一篇: 学习笔记26_MVC前台强类型参数