Eureka Server 開啓Spring Security Basic認證

文章共 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中心

後 記

由於能力有限,若有錯誤或者不當之處,還請大家批評指正,一起學習交流!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章