MVC與單元測試實踐之健身網站(三)-角色與權限

 

管理員的維護功能完成後,還有權限和角色,三者構成權限系統。這裏採用的RBAC是最經典、最簡單的一種,權限-角色-管理員只能層層傳遞,並不能直接爲管理員分配權限。html

 

一 權限、角色管理ajax

a) 權限異步

以前編寫好了分頁組件,在權限列表直接用起來了,惋惜假數據只有一頁佈局

 

 

視圖背後對應的Action是PermissionController.List。List方法獲取分頁數據,默認取第一頁不用多說。設計

 

 

權限、角色、管理員的添加、編輯界面都比較相似。htm

 

 

新增、編輯、刪除使用異步提交。新增、編輯的異步提交使用上一篇學到的方法,刪除直接在列表界面操做,使用普通的ajax請求方式模板引擎

 

 

 

二 權限的分配接口

a) 權限的分配在角色、管理員的新增和編輯界面進行it

 

 

不得不說,自我感受這套模板真是很舒服的,連勾選框的對勾都作的這麼用心。但我不會用,致使權限列表過於靠左了,這塊還得想辦法調節一下。這塊使用了BootStrap的特點佈局,通過屢次試驗,col-sm-3最適合了,再大則會過早地觸發自適應。io

 

b) 在cshtml頁面中能夠自動循環來建立權限列表,經過這種html與C#代碼混合的方式,生成每行三列的權限列表。但有一段@Html.Raw(@"</div><br /><div class='row'>")是由於</div>找不到匹配的標籤,rzaor沒法處理,須要用Raw方法來輸出。這類模板引擎很強大。

 

 

c) 一個關於數據操做的問題

權限操做設計到兩張中間表,權限-角色表、角色-管理員表,在寫入這些表時,直接使用封裝好的repository方法是不行的,好比下面的作法,會由於不在一個上下文(Context)而報錯。

 

 

正確的作法是使用與roleRepository系統的上下文類,而後便開始改造,接口中增長了屬性。第一次在接口中使用屬性,不過屬性原本就是方法,今天被逼出來了哈哈。

 

相關文章
相關標籤/搜索