1、想達(dá)到的效果
在業(yè)務(wù)微服務(wù)中通過工具類獲取當(dāng)前用戶信息
2、用戶信息在微服務(wù)之間傳遞的兩種途徑
- 網(wǎng)關(guān)微服務(wù)(Gateway)往業(yè)務(wù)微服務(wù)傳遞用戶信息
- 業(yè)務(wù)微服務(wù)之間通過OpenFeign傳遞用戶信息
只要把上面兩處打通,然后業(yè)務(wù)微服務(wù)在通過攔截器獲取到用戶信息,之后再將用戶信息存在ThreadLocal中,這樣我們就可以實現(xiàn)在業(yè)務(wù)微服務(wù)中通過工具類獲取當(dāng)前用戶信息的效果了
直接上圖說明整體流程:
文章來源:http://www.zghlxwxcb.cn/news/detail-650027.html
3、用RuoYi-Cloud為例進(jìn)行演示說明
說明:文章來源地址http://www.zghlxwxcb.cn/news/detail-650027.html
- RuoYi-Cloud:https://gitee.com/y_project/RuoYi-Cloud
- 演示步驟:下面步驟以上圖為例進(jìn)行演示
(1)網(wǎng)關(guān)將用戶信息寫在請求頭中
- 代碼:AuthFilter.java類—filter方法
- 具體位置截圖:
(2)業(yè)務(wù)微服務(wù)之間通過OpenFeign進(jìn)行調(diào)用,并且將用戶信息寫在OpenFeign準(zhǔn)備的請求頭中
- 代碼:FeignRequestInterceptor類—apply方法
- 具體位置截圖:
(3)當(dāng)請求到達(dá)業(yè)務(wù)微服務(wù)時,攔截器會從請求頭中獲取用戶信息,并放在ThreadLocal中
- 代碼:HeaderInterceptor類—preHandle方法
- 具體位置截圖:
到了這里,關(guān)于SpringCloud微服務(wù)之間如何進(jìn)行用戶信息傳遞(涉及:Gateway、OpenFeign組件)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!