玩转SpringCloud专题(八)-SpringCloud注册中心Eureka安全认证

1.项目结构

在SpringCloud服务中为了提高注册中心的安全性我们可以整合springsecurity来实现完全认证。
玩转SpringCloud专题(八)-SpringCloud注册中心Eureka安全认证_第1张图片

Eureka服务中心做的高可用的配置
provide提供服务,需要到注册中心注册(需要认证)
consumer服务消费者,需要从注册中心中发现服务,同样需要认证

2.服务注册中心配置

2.1.添加Spring Security依赖

因为是在SpringBoot项目中,所以添加了Security的依赖会帮助我们完成自动配置。非常方便

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-securityartifactId>
dependency>

2.2.修改配置文件

设置特定的账号密码,放开安全认证

#开启 http basic 的安全认证
security.basic.enabled=true
security.user.name=bruceliu
security.user.password=123456

注册中心相互之间也需要认证,设置账号密码

defaultZone: http://bruceliu:123456@eureka7002.com:7002/eureka,http://bruceliu:123456@eureka7003.com:7003/eureka

或者引用变量:

defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@eureka7002.com:7002/eureka,http://${spring.security.user.name}:${spring.security.user.password}@eureka7003.com:7003/eureka

2.3.注册中心关闭Spring Security的CSRF验证

package com.bruceliu;


import org.springframework.context.annotation.Configuration;
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;

/**
 * @BelongsProject: springcloud0310
 * @BelongsPackage: com.bruceliu
 * @Author: bruceliu
 * @QQ:1241488705
 * @CreateTime: 2020-03-10 19:48
 * @Description: TODO
 */

@EnableWebSecurity
@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        super.configure(http);
        http.csrf().disable(); // 关闭csrf
        http.authorizeRequests().anyRequest().authenticated().and().httpBasic(); // 开启认证
    }
}

如果不关闭,那么客户端就连接不上.

2.部署启动

重新将项目打包部署,然后访问注册中心,会提示输入账号密码
玩转SpringCloud专题(八)-SpringCloud注册中心Eureka安全认证_第2张图片
输入: bruceliu123456 就能进入了。
玩转SpringCloud专题(八)-SpringCloud注册中心Eureka安全认证_第3张图片

3.服务提供者配置

3.1.修改配置文件

因为现在注册中心需要认证,所以我们在注册的地址后需要添加对应的账号信息,如下:

defaultZone: http://bruceliu:123456@eureka7002.com:7002/eureka,http://bruceliu:123456@eureka7003.com:7003/eureka

3.2.启动程序

启动程序,注册并提供服务,观察注册中心
玩转SpringCloud专题(八)-SpringCloud注册中心Eureka安全认证_第4张图片

4.消费者配置

4.1.修改配置文件

因为现在注册中心需要认证,所以我们在注册的地址后需要添加对应的账号信息,如下:

defaultZone: http://bruceliu:123456@eureka7002.com:7002/eureka,http://bruceliu:123456@eureka7003.com:7003/eureka

玩转SpringCloud专题(八)-SpringCloud注册中心Eureka安全认证_第5张图片

5.测试调用

玩转SpringCloud专题(八)-SpringCloud注册中心Eureka安全认证_第6张图片

你可能感兴趣的:(玩转SpringCloud)