Springboot微服務(wù)分布式框架Rouyi Cloud權(quán)限認(rèn)證(登錄流程之token解析)
前言
上一章節(jié)講解了Spring Cloud框架Rouyi Cloud的環(huán)境部署安裝,以及安裝過程中遇到的一些問題(后端問題在Springboot、微服務(wù)中都有解決方法,所以重點(diǎn)只提了前端的一些問題)。
今天我們來講解下整個框架的入口,登錄流程之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 補(bǔ)全: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,可以看到默認(rèn)的端口是8080,正好對應(yīng)上rouyi-ui上配置的默認(rèn)代理。
2.3、路徑路由
可以在nacos里找到ruoyi-gateway-dev.yml文件,里面有對路由的配置。
routes:
# 認(rèn)證中心
- 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)認(rè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é)
其他細(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IntelliJ IDEA報錯Error:java: Compilation failed: internal java
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA報錯Error:java: Compilation failed: internal java compiler error的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10java Servlet 實現(xiàn)動態(tài)驗證碼圖片示例
這篇文章主要介紹了java Servlet 實現(xiàn)動態(tài)驗證碼圖片示例的資料,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。2017-02-022020.2 IntelliJ IDEA激活與IDEA2020.2破解詳細(xì)教程
這篇文章主要介紹了2020.2 IntelliJ IDEA激活與IDEA2020.2破解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08SpringBoot使用flyway初始化數(shù)據(jù)庫
這篇文章主要介紹了SpringBoot如何使用flyway初始化數(shù)據(jù)庫,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot框架,感興趣的朋友可以了解下2021-03-03MyBatis limit分頁設(shè)置的實現(xiàn)
這篇文章主要介紹了MyBatis limit分頁設(shè)置的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Spring實戰(zhàn)之Bean的作用域request用法分析
這篇文章主要介紹了Spring實戰(zhàn)之Bean的作用域request用法,結(jié)合實例形式分析了spring中Bean的request作用域相關(guān)使用技巧與操作注意事項,需要的朋友可以參考下2019-11-11