springboot實(shí)戰(zhàn)權(quán)限管理功能圖文步驟附含源碼
前言
mall項(xiàng)目的權(quán)限管理功能發(fā)布啦!權(quán)限管理作為后臺(tái)管理系統(tǒng)的必要功能,mall項(xiàng)目之前的權(quán)限管理并不完善。最近我對(duì)原先的權(quán)限管理進(jìn)行了重新設(shè)計(jì),打造了一套切實(shí)可用的權(quán)限管理功能。
功能清單
- 菜單管理:可以實(shí)現(xiàn)對(duì)后臺(tái)管理系統(tǒng)左側(cè)菜單的管理,支持更換圖標(biāo)、更換名稱、控制菜單顯示和排序;
- 資源管理:實(shí)現(xiàn)了基于訪問(wèn)路徑的后臺(tái)動(dòng)態(tài)權(quán)限控制,控制的權(quán)限可以精確到接口級(jí)別;
- 角色管理:可以自定義角色,并為角色分配菜單和資源;
- 后臺(tái)用戶管理:可以對(duì)后臺(tái)用戶進(jìn)行管理并分配角色,支持分配多個(gè)角色。
功能介紹
接下了我們對(duì)權(quán)限管理功能做個(gè)介紹,演示一個(gè)完整的權(quán)限管理的流程。
菜單管理
菜單主要是指管理后臺(tái)左側(cè)的菜單,管理功能可用于控制其隱藏顯示及更換圖片名稱和排序,目前僅支持二級(jí)菜單。
查看菜單列表,可以控制隱藏顯示及刪除;
添加及編輯菜單,可以更改菜單的基本屬性,不過(guò)只能添加前端項(xiàng)目路由中定義的菜單,并且前端名稱要與前端項(xiàng)目中定義的路由名稱一致;
菜單排序,給菜單設(shè)置排序后,菜單將按照設(shè)置的排序降序進(jìn)行顯示。
資源管理
所謂資源就是后臺(tái)的接口,可以是單個(gè)接口,也可以是一系列接口的集合。這里我們使用了基于Ant的路徑匹配,當(dāng)后臺(tái)用戶訪問(wèn)某個(gè)接口時(shí),如果這個(gè)后臺(tái)用戶分配了該資源就可以訪問(wèn),否則無(wú)法訪問(wèn)。默認(rèn)情況下,如果你沒(méi)有對(duì)某個(gè)接口配置資源,則該資源直接允許訪問(wèn)。
查看資源列表,目前的資源是按控制器級(jí)別配置的,即一個(gè)控制器中所有的接口定義為一個(gè)資源,也可以配置到接口級(jí)別;
添加及編輯資源,這里我們添加了一個(gè)資源分類的概念,便于以后的資源分配;
角色管理
用于對(duì)后臺(tái)用戶角色進(jìn)行管理,我們可以給角色分配指定的菜單和資源,這樣被分配了角色的后臺(tái)用戶就可以訪問(wèn)這些菜單和資源了。
查看角色列表,這里我們需要注意下這三個(gè)角色商品管理員、訂單管理員及超級(jí)管理員;
添加及編輯角色用于管理角色的基本屬性;
分配菜單,可以給角色分配允許訪問(wèn)的菜單;
分配資源,可以給角色分配允許訪問(wèn)的后臺(tái)資源;
后臺(tái)用戶管理
用于對(duì)后臺(tái)用戶進(jìn)行管理,直接修改信息(包括修改密碼)及分配角色。
查看用戶列表,可以控制帳號(hào)的啟用狀態(tài)及刪除帳號(hào);
添加及編輯用戶,可以管理用戶的基本信息及修改密碼;
分配角色,可以為用戶分配角色,指定角色用戶可以訪問(wèn)指定菜單和資源。
動(dòng)態(tài)菜單控制
這里我們來(lái)演示下動(dòng)態(tài)菜單的控制,我們有兩個(gè)后臺(tái)用戶,系統(tǒng)管理員和商品管理員,系統(tǒng)管理員分配了所有菜單,商品管理員只分配了商品相關(guān)的菜單。
使用系統(tǒng)管理員帳號(hào)登錄,左側(cè)顯示了所有菜單:
使用商品管理員帳號(hào)登錄,左側(cè)僅顯示商品相關(guān)菜單:
動(dòng)態(tài)資源控制
這里我們來(lái)演示下動(dòng)態(tài)資源的控制,我們給商品管理員只分配了商品相關(guān)的資源,他無(wú)法訪問(wèn)其他資源。
將訂單相關(guān)菜單開(kāi)放給商品管理員,但是并沒(méi)有給他分配訂單相關(guān)的資源;
由于沒(méi)有給商品管理員分配訂單模塊相關(guān)后臺(tái)資源,所以當(dāng)商品管理員訪問(wèn)訂單模塊時(shí)會(huì)提示沒(méi)有相關(guān)權(quán)限。
項(xiàng)目源碼地址
友情提醒,需要導(dǎo)入項(xiàng)目中document文件夾下最新的sql文件,再下載最新的前后端代碼才能體驗(yàn)該功能!
后端項(xiàng)目:https://github.com/macrozheng/mall
前端項(xiàng)目:https://github.com/macrozheng/mall-admin-web
以上就是springboot實(shí)戰(zhàn)權(quán)限管理功能圖文步驟及示例源碼的詳細(xì)內(nèi)容,更多關(guān)于springboot權(quán)限管理功能的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring中實(shí)現(xiàn)定時(shí)調(diào)度的幾種方法
本篇文章主要介紹了Spring中實(shí)現(xiàn)定時(shí)調(diào)度示例,可以在無(wú)人值守的時(shí)候系統(tǒng)可以在某一時(shí)刻執(zhí)行某些特定的功能,有興趣的可以了解一下。2017-02-02Mybatis中如何進(jìn)行批量更新(updateBatch)
這篇文章主要介紹了Mybatis中如何進(jìn)行批量更新(updateBatch),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05詳解如何全注解方式構(gòu)建SpringMVC項(xiàng)目
這篇文章主要介紹了詳解如何全注解方式構(gòu)建SpringMVC項(xiàng)目,利用Eclipse構(gòu)建SpringMVC項(xiàng)目,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-10-10java數(shù)據(jù)結(jié)構(gòu)與算法之noDups去除重復(fù)項(xiàng)算法示例
這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)與算法之noDups去除重復(fù)項(xiàng)算法實(shí)現(xiàn)技巧,程序代碼非常簡(jiǎn)單,關(guān)鍵在于循環(huán)與判定,需要的朋友可以參考下2016-08-08詳述IntelliJ IDEA遠(yuǎn)程調(diào)試Tomcat的方法(圖文)
本篇文章主要介紹了詳述IntelliJ IDEA遠(yuǎn)程調(diào)試Tomcat的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12springmvc級(jí)聯(lián)屬性處理無(wú)法轉(zhuǎn)換異常問(wèn)題解決
這篇文章主要介紹了springmvc級(jí)聯(lián)屬性處理無(wú)法轉(zhuǎn)換異常問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12