查看原文
其他

SpringCloud服务安全连接

2017-09-29 javastack Java技术栈



Spring Cloud可以增加HTTP Basic认证来增加服务连接的安全性。

1、加入security启动器

在maven配置文件中加入Spring Boot的security启动器。

  1. <dependency>

  2.    <groupId>org.springframework.boot</groupId>

  3.    <artifactId>spring-boot-starter-security</artifactId>

  4. </dependency>

这样,就开启对服务连接的安全保护,系统默认为生成一个用户名为"user"及一个随机密码,随机密码在服务启动的时候在日志中会打印出来。

2、自定义用户名密码

随机密码没什么实际意义,我们需要一个固定的连接用户名和密码。

在应用配置文件中加入以下配置即可。

  1. security:

  2.  user:

  3.    name: admin

  4.    password: admin123456

这样配置完后在连接这个服务的时候就会要求输入用户名和密码,如果认证失败会返回401错误。

  1. {

  2.    "timestamp": 1502689874556,

  3.    "status": 401,

  4.    "error": "Unauthorized",

  5.    "message": "Bad credentials",

  6.    "path": "/test/save"

  7. }

3、安全连接

1、注册中心安全连接

username:password@ipaddress

2、Feign申明式服务安全连接

  1. @FeignClient(name = "SERVICE", configuration = FeignAuthConfig.class)

  2. public interface OrderService extends OrderAPI {

  3. }

  1. @Configuration

  2. public class FeignAuthConfig {

  3.    @Bean

  4.    public BasicAuthRequestInterceptor basicAuthRequestInterceptor() {

  5.        return new BasicAuthRequestInterceptor("admin","admin123456");

  6.    }

  7. }

推荐阅读



什么是Spring Boot?

Spring Boot开启的2种方式

Spring Boot Starters启动器

Spring Boot定制启动图案

Spring Boot核心配置

Spring Boot功能实战

Spring Boot自动配置原理、实战

Spring Boot Runner启动器

Spring Boot - Profile不同环境配置


看完有没有收获?

分享到朋友圈给更多的人吧。




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存