springcloud 的注冊中心,配置中心,如果不配置用戶認證的情況下,任何人都可以訪問,這樣如果對外網開放的情況下,可能會存在信息暴露的問題。
springcloud提供了用戶安全驗證機制,就是在配置文件中,增加賬號密碼,然后當訪問頁面的時候,必須是輸入配置的賬號密碼登錄的情況下才能訪問想要看見的內容。
同時,如果配置了安全驗證,那么相應的客戶端程序中也需要增加安全驗證,配置文件中加上賬號密碼。
1、首先是服務端,需要加上相應的jar包引入。pom.xml
<!-- 配置中心 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <!--eureka 客戶端--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <!--security--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
2、在服務端application.yml中配置賬號密碼
spring:
security:
user:
name: config #賬號
password: mypwd #密碼
3、此時正常啟動服務應用config-server時
啟動服務,用ip+端口訪問,會增加了輸入賬號密碼這一步驟,
這里輸入config/mypwd后
能正常訪問。
4、客戶端訪問
客戶端,需要在之前訪問配置中增加賬號密碼
標紅的部分為新增的賬號密碼部分
a、如果是http形式
spring: cloud: config: uri: http://config:mypwd@localhost:8888/
也可以這樣
spring: cloud: config: uri: http://localhost:8888/ username: config password: mypwd
b、如果是通過eureka上服務節點形式
spring: cloud: config: name: my-zipkin discovery: enabled: true service-id: server-config profile: conf username: config password: mypwd
啟動程序,正常啟動。。。