詳解springboot shiro jwt實(shí)現(xiàn)權(quán)限管理
springboot + shiro + jwt (詳情解析+代碼實(shí)現(xiàn))加密接口 設(shè)置權(quán)限
首先需要把shiro的幾個配置類給下載好(我已經(jīng)把需要的配置類給放到了github和網(wǎng)盤之中)
先講完各個配置類的作用,后面講具體流程
ShiroConfig.java 類主要是設(shè)置了過濾器 和shiro自己的session,假如這個類沒有放行就只有token才能訪問后端接口
UserRealm.java 類主要是檢測用戶權(quán)限和授予權(quán)限,對用戶名的驗(yàn)證
JWTFilter.java 類主要是防止別人訪問你的接口,假如有人想直接訪問你的接口首先檢查你的token有沒有在到ShiroConfig中看有沒有放行假如兩項(xiàng)都沒有就無權(quán)訪問后端的接口
MDSUtils.java 加密前端傳入的密碼,以及設(shè)置加密方式
JWTUtils.java 生成token,和設(shè)置過期時間
好了,這就是token幾個主要的配置類
下面是實(shí)現(xiàn)的整個流程
1.首先前端登錄訪問后端登錄接口,要給登錄的請求地址放行(在沒有登錄的情況下是沒有token的,如果沒有放行就訪問不到接口

這是給需要訪問的路徑放行
2.放行之后進(jìn)入controller 傳入用戶名和密碼到service中的login(注:(login())方法在沒有在網(wǎng)盤中需要自己寫)方法中 然后拿傳入的賬號(注:只有賬號)在數(shù)據(jù)庫中進(jìn)行查詢假如有此賬號需要在數(shù)據(jù)庫中獲取用戶的(鹽:此鹽非彼鹽,這相當(dāng)于對數(shù)據(jù)加密的密鑰) 以及用戶的信息,如果沒有這個用戶則直接拋出錯誤


3.拿到用戶的信息后,把密碼拿出來用用戶信息里面的鹽進(jìn)行加密,然后將連個密碼進(jìn)行比對,比對成功就生成一個token攜帶這個用戶信息返回出去到前端
4.前端拿到token后登錄成功跳轉(zhuǎn)頁面并將token儲存到本地并將token放到請求頭中,前端登錄成功后需要到后端獲取數(shù)據(jù)每一次都需要攜帶這個token要不然就會被過濾器給攔掉

在axios中傳入token

請求頭中有了token就不需要配置過濾器可直接在realm類中進(jìn)行授權(quán)并對數(shù)據(jù)的查詢



最后 別忘記導(dǎo)入依賴


博主白天工作沒有時間回復(fù),晚上可做出回答
三天一期java技術(shù)
可幫忙找bug
可評論需要的技術(shù)可能下期會進(jìn)行講解
這是配置文件的位置
鏈接:https://pan.baidu.com/s/1k6MhGTOfskjRcQH_XppRcA
提取碼:gdb2
到此這篇關(guān)于詳解springboot shiro jwt實(shí)現(xiàn)權(quán)限管理的文章就介紹到這了,更多相關(guān)springboot shiro jwt 權(quán)限管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java基本數(shù)據(jù)類型存儲在JVM中的存儲位置介紹
這篇文章主要介紹了Java基本數(shù)據(jù)類型存儲在JVM中的存儲位置,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
spring?@Conditional的使用與擴(kuò)展源碼分析
這篇文章主要介紹了spring?@Conditional的使用與擴(kuò)展,這里需要注意如果Condition返回的是false,那么spirng就不會對方法或類進(jìn)行解析,具體源碼分析跟隨小編一起看看吧2022-03-03
Spring 中使用反射創(chuàng)建 Bean 實(shí)例的幾種方式
文章介紹了在Spring框架中如何使用反射來創(chuàng)建Bean實(shí)例,包括使用Class.newInstance()、Constructor.newInstance()、工廠方法以及Spring的BeanUtils工具類,文章還強(qiáng)調(diào)了反射操作的注意事項(xiàng),如異常處理、性能、安全性以及類型安全,感興趣的朋友一起看看吧2025-03-03
Spring Cloud Alibaba Nacos Config進(jìn)階使用
這篇文章主要介紹了Spring Cloud Alibaba Nacos Config進(jìn)階使用,文中使用企業(yè)案例,圖文并茂的展示了Nacos Config的使用,感興趣的小伙伴可以看一看2021-08-08
基于Map的computeIfAbsent的使用場景和使用方式
這篇文章主要介紹了基于Map的computeIfAbsent的使用場景和使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09

