SpringCloud之Eureka注册中心安全校验

为了避免恶意服务被注册到Eureka,需要对注册中心服务进行安全校验,具体如下:

(1)Eureka Server pom文件中添加相关依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

(2)Eureka Server application.yml配置文件中配置用户名密码相关安全信息

spring:
  security:
    user:
      name: test
      password: test

(3)启动Eureka Server服务,测试

启动Eureka Server服务,在浏览器上访问注册中心地址,会发现页面先跳转到登录页,输入配置文件上配置的用户名和密码,登录成功,并跳转到管理界面,说明安全验证机制已经生效

(4)Eureka Server关闭csrf检验

Security默认启用了csrf检验,CSRF一般指跨站请求伪造攻击,需要在Eureka Server端配置关闭csrf检验,否则Eureka Client无法访问注册中心。新建WebSecurityConfig配置类如下:

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
 
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        // 关闭csrf
        http.csrf().disable();
        // 支持httpBasic
        http.authorizeRequests().anyRequest().authenticated().and().httpBasic();
    }
}

(5)在Eureka Client端application.yml配置文件中修改注册中心地址,启动客户端服务,服务正常注册

eureka:
  client:
    service-url:
       defaultZone: http://test:test@localhost:8761/eureka/

猜你喜欢

转载自blog.csdn.net/qq_36437693/article/details/129112487