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

系統(tǒng)羅列
今天只展示登錄鑒權(quán)這一塊,我們需要用到的系統(tǒng)模塊如下:
- 用戶訪問的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里打開Terminal(中文版是終端),輸入命令:
npm run dev

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

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

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

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

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



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

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


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



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

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

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

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


總結(jié)
其他細節(jié)就留給大家去繼續(xù)探索, token這塊我們就講解到這里。
到此這篇關(guān)于Springboot微服務(wù)分布式框架Rouyi Cloud權(quán)限認證(登錄流程之token解析)的文章就介紹到這了,更多相關(guān)Spring boot Rouyi Cloud權(quán)限認證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java開發(fā)微信公眾號接收和被動回復(fù)普通消息
這篇文章主要介紹了Java開發(fā)微信公眾號接收和被動回復(fù)普通消息的相關(guān)資料,需要的朋友可以參考下2016-01-01
java兩個數(shù)組合并為一個數(shù)組的幾種方法
這篇文章主要給大家介紹了關(guān)于java兩個數(shù)組合并為一個數(shù)組的幾種方法,最近在寫代碼時遇到了需要合并兩個數(shù)組的需求,文中將每種方法都介紹的非常詳細,需要的朋友可以參考下2023-07-07
淺談Java數(shù)據(jù)結(jié)構(gòu)之稀疏數(shù)組知識總結(jié)
今天帶大家了解一下Java稀疏數(shù)組的相關(guān)知識,文中有非常詳細的介紹及代碼示例,對正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05
Java中CaffeineCache自定義緩存時間的實現(xiàn)
本文主要介紹了Java中CaffeineCache自定義緩存時間的實現(xiàn),通過聲明緩存value值holder對象并創(chuàng)建緩存容器,可以為不同的key值指定不同的過期時間,具有一定的參考價值,感興趣的可以了解一下2025-02-02
Spring?createBeanInstance實例化Bean
這篇文章主要為大家介紹了Spring?createBeanInstance實例化Bean源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03

