日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

若依管理系统——前后端分离版(二)登陆接口分析及SpringSecurity的登陆认证流程

發布時間:2025/3/21 windows 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 若依管理系统——前后端分离版(二)登陆接口分析及SpringSecurity的登陆认证流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、登陸流程分析
0. 流程整理
1. 圖片驗證碼接口/captchaImage
2.登陸驗證接口/login
2.1 校驗圖片驗證碼
2.1 查詢用戶信息
2.3查詢用戶的權限信息
2.4 生成令牌token
3.登錄
二、SpringSecurity的登陸認證流程分析
1. AuthenticationManager 認證管理器
2. ProviderManager
3. AbstractUserDetailsAuthenticationProvider 查詢UserDetails信息
4. DaoAuthenticationProvider
5. UserDetailsService
6. AbstractUserDetailsAuthenticationProvider 進行認證
6.1 認證前校驗
6.2 附加校驗
6.3 認證后校驗
三、在請求頭中攜帶token信息請求后臺接口
1. 獲得請求頭
2.獲取請求頭中的認證信息
3.解析jwt令牌,獲取緩存中的用戶信息
一、登陸流程分析
0. 流程整理


1. 圖片驗證碼接口/captchaImage


在登陸之前會有一個請求圖片驗證碼的接口/captchaImage,頁面獲得圖片驗證碼,后臺接口生成一個圖片和UUID,并將驗證碼Code和UUID存入的到Redis緩存中。


2.登陸驗證接口/login


2.1 校驗圖片驗證碼
參數包括:登錄名、密碼、驗證碼、唯一標識,進行登錄驗證。


2.1 查詢用戶信息
如果驗證碼驗證成功,則開始檢驗用戶信息:會去調用 UserDetailsServiceImpl的loadUserByUsername方法。進行用戶認證流程,具體見下一節。


UserDetailsServiceImpl是我們實現了UserDetailsService接口:

返回一個UserDetails對象,包括用戶對象和用戶的權限信息。


LoginUser實現了UserDetails


2.3查詢用戶的權限信息

sys_menu是菜單權限表,關聯了角色-菜單關聯表、用戶-角色關聯表、角色表。
也就是根據用戶Id通過用戶表-角色關聯表 查詢 角色信息,在通過角色-菜單表 查詢菜單信息。


2.4 生成令牌token

先通過工具類生成一個UUID,作為令牌的唯一標識。

refreshToken()方法以生成的UUID加前綴作為Key,將用戶信息存到緩存中,并設置有效期。

使用createToken方法生成 JWT 令牌


流程總結:
查詢用戶信息,生成UUID,以UUID作為key,用戶信息為Value 存入緩存,在將UUID信息存放到到JWT令牌中,將令牌返回給前端頁面。
用戶再次請求的時候將令牌放到請求頭中,后臺解析令牌,獲得UUID,去緩存中回去用戶信息。

3.登錄
登錄成功:


二、SpringSecurity的登陸認證流程分析


1. AuthenticationManager 認證管理器

根據用戶輸入的用戶名、密碼構建了 UsernamePasswordAuthenticationToken,并將其交給 AuthenticationManager 來進行認證處理。AuthenticationManager 本身不包含認證邏輯,其核心是用來管理所有的 AuthenticationProvider,通過交由合適的 AuthenticationProvider 來實現認證。

2. ProviderManager
下面跳轉到了 ProviderManager ,該類是 AuthenticationManager 的實現類。


3. AbstractUserDetailsAuthenticationProvider 查詢UserDetails信息
傳統表單登錄的 AuthenticationProvider 主要是由 AbstractUserDetailsAuthenticationProvider 來進行處理的,通過 retrieveUser() 方法讀取到數據庫中的用戶信息,具體實現在 DaoAuthenticationProvider 中

4. DaoAuthenticationProvider

5. UserDetailsService
這里調用了UserDetailsService的loadUserByUsername方法,而我們的UserDetailsServiceImpl實現了UserDetailsService接口,重寫了loadUserByUsername方法


6. AbstractUserDetailsAuthenticationProvider 進行認證
當我們成功的讀取 UserDetails 后,下面開始對其進行認證。

6.1 認證前校驗


6.2 附加校驗


6.3 認證后校驗


我們可以看到認證校驗分為 前校驗、附加校驗和后校驗,如果任何一個校驗出錯,就會拋出相應的異常。所有校驗都通過后,調用 createSuccessAuthentication() 返回認證信息。


在 createSuccessAuthentication 方法中,我們發現它重新 new 了一個 UsernamePasswordAuthenticationToken,因為到這里認證已經通過了,所以將 authorities 注入進去,并設置 authenticated 為 true。
到此就已經認證完成了。

SpringSecurity認證流程文章參考:https://jitwxs.blog.csdn.net/article/details/84703690

三、在請求頭中攜帶token信息請求后臺接口
比如 登錄后請求的/getInfo接口:

請求后臺接口時,獲取請求頭中的認證信息:

Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImE5ZWQ4MjYxLTRmOTgtNDY1Zi1iNTcwLTlkMmU2MGEyOWQzOCJ9.z0gvgUQPDQSiMAm5QfljsRSPGkJhuCvjlA--m_Jd7y87QICeb53Sj28yMLxNQwkoXqwsk3HKLnkX1OjA5goUdQ
1


1. 獲得請求頭
首先使用ServletUtils.getRequest()獲取request信息,這個方法有調用的是getRequestAttributes()方法,


2.獲取請求頭中的認證信息
獲得了request信息后,從請求頭中獲取token:


3.解析jwt令牌,獲取緩存中的用戶信息
解析token,獲取唯一標識,根據唯一標識獲得緩存中的用戶信息:


由此就獲得了用戶的信息,在根據用戶信息查詢對應的角色和權限。
?

總結

以上是生活随笔為你收集整理的若依管理系统——前后端分离版(二)登陆接口分析及SpringSecurity的登陆认证流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产亚洲视频一区 | 自拍偷拍 亚洲 | 欧美大肚乱孕交hd孕妇 | 黄色小说视频网站 | 久久亚洲精品中文字幕 | 美女精品久久 | 色片在线播放 | 婷婷激情小说网 | 亚洲第8页 | 超碰个人在线 | 免费色网 | 人人射人人| www.一区二区三区四区 | 色多多污 | www日韩精品 | 女教师痴汉调教hd中字 | 国产精品污www一区二区三区 | 国产精品一区二区在线观看 | 久久七 | 亚洲精品国 | 嫩草视频在线观看 | 美女免费福利视频 | 伊人开心网 | 国产福利在线 | fee性满足he牲bbw | 国产高潮久久久 | 日韩欧美视频在线播放 | 国产激情一区二区三区视频免樱桃 | 一级黄色大片网站 | 国产www精品 | 污污的视频在线观看 | 一级做a爱片久久 | 日韩欧av| 天天躁日日躁狠狠躁av | 古代黄色片| 成人免费午夜视频 | 成人污污视频在线观看 | 四虎视频国产精品免费入口 | 中国人与拘一级毛片 | 久久久久在线视频 | 色噜噜狠狠一区二区三区果冻 | 超碰在线香蕉 | 久久123 | 91精品一区二区 | 国产精品入口久久 | 狠狠操夜夜 | 中文字幕在线视频一区二区 | 日韩精品二区在线观看 | 无码日韩人妻精品久久蜜桃 | 日韩精品一区二区三区丰满 | 欧洲午夜精品 | 成人做受黄大片 | 久久女同 | 日本免费高清视频 | 熟妇高潮一区二区高潮 | 伊人春色在线 | 国产一区二区三区视频播放 | 奇米色影视 | 天天干天天碰 | 青青草网站 | 奇米777狠狠| 女生被男生桶 | 国产成年人视频网站 | 久久女同| 天天干网站 | 图片区亚洲色图 | 夜夜操天天 | 久草a视频 | 国产片网址 | 欧美三级免费观看 | 日本a级c片免费看三区 | 久久精品男人 | 亚洲av无码久久忘忧草 | 九九热这里有精品 | 色香影院 | 内射干少妇亚洲69xxx | 亚洲一区二区三区高清 | 国产成人精品一区二区三区福利 | 亚洲精品久久久蜜桃网尤妮丝 | 伊人影院在线观看视频 | 国产成人在线免费观看 | 欧美日韩在线中文字幕 | 国产精品黄色片 | 色妞ww精品视频7777 | 91久久一区| 黄色一几片| 国产精品27p | 国产成人精品a视频 | 久久99久久久久久 | 国产粉嫩在线观看 | 日本五十路女优 | 亚洲自拍偷拍一区二区 | 一区二区三区四区在线观看视频 | 涩涩精品 | 欧美韩日精品 | 亚洲色图狠狠干 | 俄罗斯av在线| 国产精品久久久久久久久久久不卡 | 黄色片a级|