1. Home
  2. 架构
  3. java微服务

配置Springboorsecurity时候Eureka客户端注册Cannot execute request on any known server解决

添加了eureka注册中心的用户安全验证后,我开启了eureka client客户端吼发现链接不上,并且报错栈里面出现了“Cannot execute request on any known server” 这个错误,经过多方查证我发现配置都没问题,主要是spring security在新的spring2.0版本以上的时候需要加一个配置类

其实大概意思是,springboot2.0以后每个跟类有关的请求都要有一个有效的跨站点csrf令牌,而这个时候eureka client并没有这个东西,所以呢我们就必须在配置上对/eureka/ 这个路径的请求进行绕开操作*

代码如下所示(一种是下面的写法还有第二种是内部类)

package com.zrk.config;

import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

/**
 * @Description:
 * @Author: zrk
 * @Date: 2019/9/12
 */
@EnableWebSecurity
class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().ignoringAntMatchers("/eureka/**");
        super.configure(http);
    }
}

这个代码的位置如下图所示
file

第二种方法

直接上代码

public class DemoEurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoEurekaServerApplication.class, args);
    }

    @EnableWebSecurity
    static class WebSecurityConfig extends WebSecurityConfigurerAdapter {
        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http.csrf().ignoringAntMatchers("/eureka/**");
            super.configure(http);
        }
    }
}

原创文章,作者:admin,如若转载,请注明出处:https://www.cxylaowang.com/130.html

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact Us

在线咨询:点击这里给我发消息

邮件:814489173@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code