spring cloud ouath2中的Eureka

老生常谈的配置 但是还是需要说明一下

EurekaApplication 

@EnableEurekaServer指定为server端

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {

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

}

WebSecurityConfig 

看到这眼熟不呢 没错 Eureka也开启spring security 在访问前台页面时也需要输入账号密码

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        super.configure(http);
        http.csrf().disable().httpBasic();
    }
}

application.yml

security:user以下配置的账号密码 在访问页面需要输入的

server:
  port: 7001
spring:
  application:
    name: eureka
  security:
    user:
      name: admin
      password: xxxxxxxxxx
eureka:
  client:
    fetch-registry: false
    register-with-eureka: false
    service-url:
      defaultZone: http://admin:Xk38CNHigBP5jK75@localhost:5001/eureka
  instance:
    hostname: localhost
    prefer-ip-address: true
logging:
  config: classpath:logback.xml
  level:
    root: info

pom.xml

   <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

当访问localhost:7001 出现下图 需要填写账号密码

在其他服务注册时 也需要指定账号密码

eureka:
  instance:
    hostname: ${spring.cloud.client.ip-address}
    prefer-ip-address: true
    instance-id: ${eureka.instance.hostname}:${server.port}
  //与server一致
  client:
    security:
      basic:
        user: admin
        password: xxxxxxxxxxx
    service-url:
      defaultZone: http://${eureka.client.security.basic.user}:${eureka.client.security.basic.password}@localhost:7001/eureka

猜你喜欢

转载自blog.csdn.net/qq_20143059/article/details/113759124
今日推荐