增加Eureka
前面介紹的項目都是授權(quán)服務(wù)和資源服務(wù)單獨兩個,這樣在資源服務(wù)中的 check_token 地址都是寫死的地址 :

file
下面我們把eureka加上,這樣就可以直接用服務(wù)名了。eureka服務(wù)的搭建不再討論,在服務(wù)中加eureka只需要改兩個地方,就是加依賴和修改配置:

file
增加配置如下:

file
然后就可以把資源服務(wù)中的固定ip改為服務(wù)名:

file
增加令牌中繼
從授權(quán)服務(wù)獲取令牌以后,直接訪問一個資源服務(wù)是沒有問題的,但是如果資源服務(wù)又去調(diào)用其它資源服務(wù),就會產(chǎn)生一個問題,就是令牌無法自動往下傳遞。要實現(xiàn)令牌中繼我們就需要寫一個攔截器,將token放到請求的header中。
首先在服務(wù)中增加feign組件:

file
增加注解 @EnableFeignClients :

file
注意上面的依賴和注解調(diào)用方和被調(diào)用方都要增加。然后在被調(diào)用方寫一個接口:

file
在調(diào)用方使用feign調(diào)用:

file
然后在調(diào)用方寫一個測試接口:

file
現(xiàn)在直接申請令牌,然后訪問調(diào)用方測試接口,會出現(xiàn)如下401錯誤:

file
下面在調(diào)用方增加一個攔截器,在header中增加令牌:

file
測試
下面直接申請令牌,訪問調(diào)用方的測試接口,可以看到令牌中繼的結(jié)果:

file
代碼地址:https://gitee.com/blueses/spring-boot-security 30 31 32 33
本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!