Springboot微服務(wù)分布式框架Rouyi Cloud權(quán)限認(rèn)證(登錄流程之token解析)
前言
上一章節(jié)講解了Spring Cloud框架Rouyi Cloud的環(huán)境部署安裝,以及安裝過(guò)程中遇到的一些問(wèn)題(后端問(wèn)題在Springboot、微服務(wù)中都有解決方法,所以重點(diǎn)只提了前端的一些問(wèn)題)。
今天我們來(lái)講解下整個(gè)框架的入口,登錄流程之token解析。

系統(tǒng)羅列
今天只展示登錄鑒權(quán)這一塊,我們需要用到的系統(tǒng)模塊如下:
- 用戶(hù)訪問(wèn)的Web前端系統(tǒng):rouyi-ui
- 網(wǎng)關(guān)系統(tǒng):rouyi-gateway
- 授權(quán)業(yè)務(wù)系統(tǒng):rouyi-auth
1、Web前端系統(tǒng):rouyi-ui
在Idea里打開(kāi)Terminal(中文版是終端),輸入命令:
npm run dev

1.2、訪問(wèn)前端頁(yè)面
訪問(wèn)前端頁(yè)面,由于沒(méi)有登錄(token)信息,會(huì)直接跳轉(zhuǎn)到登錄界面。
這里沒(méi)有啟動(dòng)后臺(tái)系統(tǒng),獲取驗(yàn)證碼接口失敗。

1.3、解析前端登錄接口
前端登錄接口:login(
http://localhost/dev-api/auth/login)
驗(yàn)證碼接口:code(
http://localhost/dev-api/code)

1.3.1、解析地址
http://localhost/dev-api/auth/login
localhost 補(bǔ)全:localhost:80,對(duì)應(yīng)上rouyi-ui的80端口
dev-api/auth/login,我們帶上問(wèn)題繼續(xù)看下去

1.3.2、配置路徑
可以看到rouyi-ui前端系統(tǒng),為不同環(huán)境配置了訪問(wèn)路徑前綴。
在dev環(huán)境中,對(duì)應(yīng)的地址是:VUE_APP_BASE_API = ‘/dev-api’
那么【1.3.1】的路徑,就剩下/auth/login了

2、網(wǎng)關(guān)系統(tǒng):rouyi-gateway
2.1、啟動(dòng)nacos
啟動(dòng)nacos之后(nacos需要配置數(shù)據(jù)庫(kù)并啟動(dòng)),可以看到ruoyi-開(kāi)頭的很多配置項(xiàng)。



2.2、啟動(dòng)rouyi-gateway
啟動(dòng)rouyi-gateway,可以看到默認(rèn)的端口是8080,正好對(duì)應(yīng)上rouyi-ui上配置的默認(rèn)代理。

2.3、路徑路由
可以在nacos里找到ruoyi-gateway-dev.yml文件,里面有對(duì)路由的配置。
routes:
# 認(rèn)證中心
- id: ruoyi-auth
uri: lb://ruoyi-auth – 下面的路徑,匹配ruoyi-auth系統(tǒng)
predicates:
- Path=/auth/** – 匹配前端訪問(wèn)的路徑,凡是/auth/開(kāi)頭都匹配上
filters:
# 驗(yàn)證碼處理
- CacheRequestFilter
- ValidateCodeFilter – 處理驗(yàn)證碼


前文【1.3.2】的地址:/auth/login,正好對(duì)應(yīng)ID為ruoyi-auth的路由規(guī)則,凡是/auth/開(kāi)頭的地址,都會(huì)路由到ruoyi-auth系統(tǒng)。
2.4、代碼解析
2.4.1、獲取驗(yàn)證碼
獲取驗(yàn)證碼接口:com.ruoyi.gateway.config.RouterFunctionConfiguration.routerFunction
在RouterFunctionConfiguration類(lèi)上有注解:@Configuration
生成驗(yàn)證碼,并最終轉(zhuǎn)換成圖片流輸出到頁(yè)面。



2.5、返回前端查看驗(yàn)證碼
rouyi-gateway啟動(dòng)成功了,也看到了驗(yàn)證碼的代碼就在rouyi-gateway系統(tǒng)里,這時(shí)返回網(wǎng)頁(yè),可以看到驗(yàn)證碼已經(jīng)顯示出來(lái)了。

3、授權(quán)業(yè)務(wù)系統(tǒng):rouyi-auth
授權(quán)認(rèn)證中心也啟動(dòng)成功了,我們是通過(guò)網(wǎng)關(guān)+nacos微服務(wù)訪問(wèn),所以業(yè)務(wù)系統(tǒng)的端口號(hào)無(wú)所謂了。

3.1、查看接口
找到類(lèi): com.ruoyi.auth.controller.TokenController
里面有4個(gè)接口:登錄、登出、刷新token、注冊(cè)

3.1.1、登錄接口
登錄接口主要做了2件事:
1、校驗(yàn)用戶(hù)名、密碼是否正確;
2、根據(jù)用戶(hù)信息,創(chuàng)建token,并返回給前端


總結(jié)
其他細(xì)節(jié)就留給大家去繼續(xù)探索, token這塊我們就講解到這里。
到此這篇關(guān)于Springboot微服務(wù)分布式框架Rouyi Cloud權(quán)限認(rèn)證(登錄流程之token解析)的文章就介紹到這了,更多相關(guān)Spring boot Rouyi Cloud權(quán)限認(rèn)證內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java基本知識(shí)點(diǎn)之變量和數(shù)據(jù)類(lèi)型
這篇文章主要給大家介紹了關(guān)于Java基本知識(shí)點(diǎn)之變量和數(shù)據(jù)類(lèi)型的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Java開(kāi)發(fā)微信公眾號(hào)接收和被動(dòng)回復(fù)普通消息
這篇文章主要介紹了Java開(kāi)發(fā)微信公眾號(hào)接收和被動(dòng)回復(fù)普通消息的相關(guān)資料,需要的朋友可以參考下2016-01-01
java兩個(gè)數(shù)組合并為一個(gè)數(shù)組的幾種方法
這篇文章主要給大家介紹了關(guān)于java兩個(gè)數(shù)組合并為一個(gè)數(shù)組的幾種方法,最近在寫(xiě)代碼時(shí)遇到了需要合并兩個(gè)數(shù)組的需求,文中將每種方法都介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
淺談Java數(shù)據(jù)結(jié)構(gòu)之稀疏數(shù)組知識(shí)總結(jié)
今天帶大家了解一下Java稀疏數(shù)組的相關(guān)知識(shí),文中有非常詳細(xì)的介紹及代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
Java中CaffeineCache自定義緩存時(shí)間的實(shí)現(xiàn)
本文主要介紹了Java中CaffeineCache自定義緩存時(shí)間的實(shí)現(xiàn),通過(guò)聲明緩存value值holder對(duì)象并創(chuàng)建緩存容器,可以為不同的key值指定不同的過(guò)期時(shí)間,具有一定的參考價(jià)值,感興趣的可以了解一下2025-02-02
Java Hibernate中的查詢(xún)策略和抓取策略
Hibernate是一種Java對(duì)象關(guān)系映射框架,提供了多種查詢(xún)和抓取策略,用于優(yōu)化數(shù)據(jù)庫(kù)訪問(wèn)性能。查詢(xún)策略包括延遲加載、立即加載、查詢(xún)緩存等,抓取策略包括join抓取、子查詢(xún)抓取、批量抓取等。這些策略可以根據(jù)實(shí)際應(yīng)用場(chǎng)景進(jìn)行選擇和配置,提高數(shù)據(jù)訪問(wèn)的效率和穩(wěn)定性2023-04-04
Spring?createBeanInstance實(shí)例化Bean
這篇文章主要為大家介紹了Spring?createBeanInstance實(shí)例化Bean源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

