springcloud升级到2.x后Eureka安全配置与1.x有部分变动,具体配置如下:
1、加入依赖:
1dependencies { 2 implementation('org.springframework.cloud:spring-cloud-starter-netflix-eureka-server') 3 testImplementation('org.springframework.boot:spring-boot-starter-test') 4 implementation('org.springframework.boot:spring-boot-starter-security') 5}
2、配置application.yml,自定义用户名与密码:
1server: 2 port: 8763 3eureka: 4 instance: 5 hostname: localhost 6 client: 7 register-with-eureka: false 8 fetch-registry: false 9 service-url: 10 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ 11spring: 12 security: 13 user: 14 name: admin 15 password: abcd1234
3、新版本的security默认开启csrf了,这里我们先关掉它,新建一个配置类:
1@EnableWebSecurity 2@Configuration 3public class WebSecurityConfig extends WebSecurityConfigurerAdapter { 4 @Override 5 protected void configure(HttpSecurity http) throws Exception { 6 //关闭csrf 7 http.csrf().disable(); 8 //开启认证 9 http.authorizeRequests().anyRequest().authenticated().and().httpBasic(); 10 } 11}
4、浏览器访问,输入刚才设置的用户名与密码:

4、访问成功:

5、客户端访问方式不变。