SpringCloud 学习-2 :Securing The Eureka Server

Posted zrk3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
    

配置完成重启即可。

 

以上是关于SpringCloud 学习-2 :Securing The Eureka Server的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记SpringCloud微服务架构

springcloud学习2:使用feign进行微服务之间的调用

springcloud学习2:使用feign进行微服务之间的调用

springcloud 学习

springCloud学习-服务的注册与发现(Eureka)

SpringCloud 学习-2 :Securing The Eureka Server