Eureka Server 開啟Spring Security Basic認證
阿新 • • 發佈:2018-11-27
文章共 503字,閱讀大約需要 2分鐘 !
概 述
Eureka Server 在實際使用過程中必須考慮安全問題,比如 未認證的使用者 不允許其隨意呼叫 Eureka Server的 API;還有一個則是 未認證的 Eureka Client 也禁止其註冊到 Eureka Server中來,這些都是可以在工程中進行配置的,當然這也是最最基本的安全認證措施,本文實踐之。
本文實驗環境如下:
- Spring Cloud:Finchley.RELEASE
- Spring Boot:2.0.3.RELEASE
注: 本文首發於 My Personal Blog:CodeSheep·程式羊
,歡迎光臨 小站
Eureka Server搭建與配置
Eureka Server 開啟 Spring Security Basic認證首先需要在 Eureka Server中引入 Spring Security元件:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
接下來關鍵的一步則是配置 Eureka Server工程的 yml配置檔案,加入和認證相關的資訊:
server:
port: 1111
spring:
security:
user:
name: codesheep
password: www.codesheep.cn
eureka:
client:
registerWithEureka: false
fetchRegistry: false
spring.security
配置的意圖應該很明確了吧,需要使用者名稱和密碼方可認證通過。
Eureka Client搭建與配置
既然上面的 Eureka Server已開啟認證環節,則相應的 Eureka Client也需要對應的配置,方可通過認證再註冊到 Eureka Server中來
搭建好 Eureka Client工程後,需要在專案配置檔案中加入類似 Eureka Server的配置:
server:
port: 1112
spring:
application:
name: eureka-client
eureka:
client:
security:
basic:
user: codesheep
password: www.codesheep.cn
serviceUrl:
defaultZone: http://${eureka.client.security.basic.user}:${eureka.client.security.basic.password}@localhost:1111/eureka/
這樣就完成了基於 Spring Security Basic的基礎認證
實驗驗證
- 啟動 Eureka Server後,再也不能裸進 Eureka Server管理介面了,需要輸入使用者名稱/密碼 認證
- 沒有通過認證的 Eureka Client是無法註冊到 Eureka Server中心的,控制檯會報無法傳送心跳的錯誤
- 而認證通過的 Eureka Client還是按照往常一樣註冊到 Eureka Server中心
後 記
由於能力有限,若有錯誤或者不當之處,還請大家批評指正,一起學習交流!
- My Personal Blog:CodeSheep 程式羊
- 我的半年技術部落格之路