前面已經說明了RBAC的設計邏輯和思想,現在我們開始了解一下在項目中的具體應用。
首先根據前面的數據庫設計,利用powerDesigner(PD)創建權限管理的物理數據模型(PDM),怎么使用PD可以自行百度一下。
創建好數據庫模型后,新建一個我們的項目,我們公司項目用到的框架主要集成了SSM框架,其實什么框架沒什么必要關系,現根據數據庫設計,創建相關的實體類。
用戶實體類:
角色實體類:
權限實體類;
實體類創建好后,分析項目中的分層應用,主要包括Service和Dao層,然后創建相關的增刪該查的方法,數據庫持久層使用Mybatis,編寫相關的sql映射文件即可。
新增方法的sql映射如下:
然后通過數據庫查詢方法,獲得權限維護樹的json數據
前台顯示樹結構使用的是ZTree插件,最后顯示效果基本上就是下圖這種效果
例如添加一個權限的實現操作
相應的后台Controller的方法實現如下圖:
這樣基本實現了權限樹的維護功能。