在Spring Cloud通過Eureka實現服務注冊與發現時,默認提供web管理界面,但是如果在生產環境暴露出來,會存在安全問題。為了解決這個問題,我們可以通過添加權限認證進行控制,具體步驟如下:
【step1】:通過spring-security來進行用戶認證,在pom中添加相關依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
【step2】:application.yml中加上認證的配置信息
security.basic.enabled: true #開啟認證
security.user.name: userName #你的用戶名
security.user.password: password #你的密碼
【step3】:同時,需要注冊的應用需要修改配置文件,加上認證信息,否則注冊會報401認證失敗錯誤
eureka.client.serviceUrl.defaultZone: http://userName:password@localhost:8761/eureka/
測試:再次訪問http://localhost:8761/,彈出如下認證頁面,輸入正確認證信息即可。