SpringCloud 学习(二)-2 :Securing The Eureka Server

由于工作等种种原因未能连续进行学习,现在继续学习微服务,不过是新建的demo,springcloud版本用的是Finchley.SR2。

之前用简单demo实现了注册中心,现在来对注册中心加安全验证:

一、添加依赖

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

 

二、修改配置文件

设置安全认证的用户名跟密码:

##验证的用户名和密码
spring.security.user.name=zrk
spring.security.user.password=123

修改eureka访问url

eureka.client.service-url.defaultZone=http://${spring.security.user.name}:${spring.security.user.password}@${eureka.instance.hostname}:${server.port}/eureka/

三、重启eureka服务

访问,界面如下:

 

 输入用户名、密码即可

四、客户端注册到注册中心

修改配置文件

eureka.client.serviceUrl.defaultZone=http://zrk:123@localhost:30000/eureka/

五、在eureka服务添加配置

看springcloud官方文档Securing The Eureka Server这部分,有如下内容

只需通过Spring -boot-starter- security将Spring Security添加到服务路径中,就可以保护Eureka服务。默认情况下,当Spring Security位于类路径上时,它将要求在每次向应用程序发送请求时都发送一个有效的CSRF令牌。Eureka客户机通常不会拥有一个有效的跨站点请求伪造令牌(CSRF),您需要禁用/ Eureka /**端点的这个请求

,举例:

@EnableWebSecurity
class WebSecurityConfig extends WebSecurityConfigurerAdapter {

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

配置完成重启即可。

 

posted @ 2019-09-12 11:46  科比333  阅读(1238)  评论(0编辑  收藏  举报