springboot實戰(zhàn)權(quán)限管理功能圖文步驟附含源碼
前言
mall項目的權(quán)限管理功能發(fā)布啦!權(quán)限管理作為后臺管理系統(tǒng)的必要功能,mall項目之前的權(quán)限管理并不完善。最近我對原先的權(quán)限管理進行了重新設(shè)計,打造了一套切實可用的權(quán)限管理功能。
功能清單
- 菜單管理:可以實現(xiàn)對后臺管理系統(tǒng)左側(cè)菜單的管理,支持更換圖標(biāo)、更換名稱、控制菜單顯示和排序;
- 資源管理:實現(xiàn)了基于訪問路徑的后臺動態(tài)權(quán)限控制,控制的權(quán)限可以精確到接口級別;
- 角色管理:可以自定義角色,并為角色分配菜單和資源;
- 后臺用戶管理:可以對后臺用戶進行管理并分配角色,支持分配多個角色。
功能介紹
接下了我們對權(quán)限管理功能做個介紹,演示一個完整的權(quán)限管理的流程。
菜單管理
菜單主要是指管理后臺左側(cè)的菜單,管理功能可用于控制其隱藏顯示及更換圖片名稱和排序,目前僅支持二級菜單。
查看菜單列表,可以控制隱藏顯示及刪除;

添加及編輯菜單,可以更改菜單的基本屬性,不過只能添加前端項目路由中定義的菜單,并且前端名稱要與前端項目中定義的路由名稱一致;

菜單排序,給菜單設(shè)置排序后,菜單將按照設(shè)置的排序降序進行顯示。

資源管理
所謂資源就是后臺的接口,可以是單個接口,也可以是一系列接口的集合。這里我們使用了基于Ant的路徑匹配,當(dāng)后臺用戶訪問某個接口時,如果這個后臺用戶分配了該資源就可以訪問,否則無法訪問。默認(rèn)情況下,如果你沒有對某個接口配置資源,則該資源直接允許訪問。
查看資源列表,目前的資源是按控制器級別配置的,即一個控制器中所有的接口定義為一個資源,也可以配置到接口級別;

添加及編輯資源,這里我們添加了一個資源分類的概念,便于以后的資源分配;

角色管理
用于對后臺用戶角色進行管理,我們可以給角色分配指定的菜單和資源,這樣被分配了角色的后臺用戶就可以訪問這些菜單和資源了。
查看角色列表,這里我們需要注意下這三個角色商品管理員、訂單管理員及超級管理員;

添加及編輯角色用于管理角色的基本屬性;

分配菜單,可以給角色分配允許訪問的菜單;

分配資源,可以給角色分配允許訪問的后臺資源;

后臺用戶管理
用于對后臺用戶進行管理,直接修改信息(包括修改密碼)及分配角色。
查看用戶列表,可以控制帳號的啟用狀態(tài)及刪除帳號;

添加及編輯用戶,可以管理用戶的基本信息及修改密碼;

分配角色,可以為用戶分配角色,指定角色用戶可以訪問指定菜單和資源。

動態(tài)菜單控制
這里我們來演示下動態(tài)菜單的控制,我們有兩個后臺用戶,系統(tǒng)管理員和商品管理員,系統(tǒng)管理員分配了所有菜單,商品管理員只分配了商品相關(guān)的菜單。
使用系統(tǒng)管理員帳號登錄,左側(cè)顯示了所有菜單:

使用商品管理員帳號登錄,左側(cè)僅顯示商品相關(guān)菜單:

動態(tài)資源控制
這里我們來演示下動態(tài)資源的控制,我們給商品管理員只分配了商品相關(guān)的資源,他無法訪問其他資源。
將訂單相關(guān)菜單開放給商品管理員,但是并沒有給他分配訂單相關(guān)的資源;

由于沒有給商品管理員分配訂單模塊相關(guān)后臺資源,所以當(dāng)商品管理員訪問訂單模塊時會提示沒有相關(guān)權(quán)限。

項目源碼地址
友情提醒,需要導(dǎo)入項目中document文件夾下最新的sql文件,再下載最新的前后端代碼才能體驗該功能!
后端項目:https://github.com/macrozheng/mall
前端項目:https://github.com/macrozheng/mall-admin-web
以上就是springboot實戰(zhàn)權(quán)限管理功能圖文步驟及示例源碼的詳細(xì)內(nèi)容,更多關(guān)于springboot權(quán)限管理功能的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java利用JAXB實現(xiàn)對象和xml互相轉(zhuǎn)換方法與實例詳解
這篇文章主要介紹了java利用JAXB實現(xiàn)對象和xml互相轉(zhuǎn)換方法與實例詳解,需要的朋友可以參考下2020-02-02
深入理解java異常處理機制的原理和開發(fā)應(yīng)用
Java異常處理機制在日常開發(fā)中應(yīng)用頻繁,本篇文章主要在基礎(chǔ)的使用方法上,更進一步的,如何更加合理的使用異常機制,希望可以對各位朋友能有所幫助。2017-04-04
springboot中關(guān)于classpath:路徑使用及說明
這篇文章主要介紹了springboot中關(guān)于classpath:路徑使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
JAVA對象和字節(jié)數(shù)組互轉(zhuǎn)操作
這篇文章主要介紹了JAVA對象和字節(jié)數(shù)組互轉(zhuǎn)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08

