我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Spring Cloud怎么保证微服务内安全

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Spring Cloud怎么保证微服务内安全

这篇文章主要为大家展示了“Spring Cloud怎么保证微服务内安全”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring Cloud怎么保证微服务内安全”这篇文章吧。

一、简介

在微服务的架构下,我们需要把系统的业务划分成多个单一的微服务。每个微服务都会提供接口供其他微服务调用,在Dubbo中可以通过rmi、nio等实现,Spring Cloud中是通过http调用的。

但有些时候,我们只希望用户通过我们的网关调用微服务,不允许用户直接请求微服务。这时我们就可以借助Spring Security来保障安全。

二、使用步骤

2.1 在提供接口的微服务项目中配置Spring Security

1 首先在pom.xml引入Spring Security的相关配置,如下

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

2 在qpplication.yml中配置账号密码,如下

security:  basic:    enabled: true  user:    name: sunbufu    password: 123456

3 此时访问接口发现已经需要认证了。

Spring Cloud怎么保证微服务内安全

输入正确的账号和密码后就可以访问了。

2.2在调用微服务项目中配置Feign的账号密码

1 在application.yml中配置账号密码

security:  user:    name: sunbufu    password: 123456

2 添加Feign的配置文件

package com.sunbufu.config;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import feign.auth.BasicAuthRequestInterceptor;@Configurationpublic class FeignConfiguration {    @Value("${security.user.name}")    private String userName;    @Value("${security.user.password}")    private String passWord;    @Bean    public BasicAuthRequestInterceptor basicAuthRequestInterceptor(){        return new BasicAuthRequestInterceptor(userName, passWord);    }}

3 这样完成后,就可以正常的访问了。

Spring Cloud怎么保证微服务内安全

三、实例

Spring Cloud怎么保证微服务内安全

git源码地址:https://github.com/sunbufu/sunbufu-cloud

下面是这4个工程的说明:

sunbufu-erueka:Eureka服务的工程

sunbufu-hello-face:服务接口的定义工程,其中包括定义微服务需要实现什么功能,其他微服务怎么调用,以及feign的配置

sunbufu-hello-impl:服务接口的实现工程,实现了sunbufu-hello-face定义的功能

sunbufu-hello-web:服务的网关工程,主要为了调用sunbufu-hello-face

Spring Cloud服务安全连接

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

1、加入security启动器

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

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

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

2、自定义用户名密码

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

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

security:   user:     name: admin    password: admin123456

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

{    "timestamp": 1502689874556,    "status": 401,    "error": "Unauthorized",    "message": "Bad credentials",    "path": "/test/save"}

3、安全连接

注册中心安全连接

username:password@ipaddress

Feign申明式服务安全连接

@FeignClient(name = "SERVICE", configuration = FeignAuthConfig.class)public interface OrderService extends OrderAPI {}
@Configurationpublic class FeignAuthConfig {    @Bean    public BasicAuthRequestInterceptor basicAuthRequestInterceptor() {        return new BasicAuthRequestInterceptor("admin","admin123456");    }}

以上是“Spring Cloud怎么保证微服务内安全”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Spring Cloud怎么保证微服务内安全

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Spring Cloud怎么保证微服务内安全

这篇文章主要为大家展示了“Spring Cloud怎么保证微服务内安全”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring Cloud怎么保证微服务内安全”这篇文章吧。一、简介在微服务的架
2023-06-20

Spring Cloud服务安全连接方式是什么

这篇文章主要讲解了“Spring Cloud服务安全连接方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Cloud服务安全连接方式是什么”吧!Spring Cloud服
2023-06-25

怎么保证租用服务器的安全

本篇内容主要讲解“怎么保证租用服务器的安全”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么保证租用服务器的安全”吧! 许多企业在租用服务器时都会对安全问题十分担心。的确,服务器的安全问题确实是
2023-06-07

云服务器怎么保证数据安全

云服务器是一种虚拟化的资源管理平台,它通过互联网连接到用户的计算设备上,以便可以为用户提供稳定、高效和安全的计算服务。因此,在处理云服务器上的数据时,必须确保数据的安全。以下是一些方法来确保云服务器的数据安全:加密数据:云服务器通常采用SSL/TLS加密来保护其数据传输的安全性,防止数据被窃取或篡改。数据加密可以在云服务器管理员的控制台中完成,也可以通过在云服务器上安装防病毒软件来完成,以确
2023-10-26

怎么保证云服务器的硬件安全

保证云服务器的硬件安全可以采取以下措施:1. 选择可信赖的云服务提供商:选择具有良好声誉和严格安全控制措施的云服务提供商,确保其有保障硬件安全的能力。2. 物理安全措施:确保云服务器托管在有物理安全控制措施的数据中心,如门禁系统、监控摄像头
2023-09-22

怎么保证云服务器的硬件安全

云服务器硬件安全保障指南保护云服务器硬件安全至关重要。实施最佳实践,包括:数据加密、安全启动、固件更新、物理安全、漏洞管理、入侵检测和审计。通过这些措施,可以降低安全风险,确保数据完整性和业务连续性。
怎么保证云服务器的硬件安全
2024-04-10

SpringCloud微服务,如何保证对外接口的安全?

在本文中,我们深入研究了微服务架构中对外开放接口的安全性保障机制。我们着重关注了那些暴露在外网的API接口面临的两个关键安全问题:篡改和重放。

阿里云服务器怎样保证安全性能

简介阿里云服务器是一种云计算服务,为用户提供高性能、高可靠性的计算资源。在使用阿里云服务器时,安全性是用户最关心的问题之一。本文将介绍阿里云服务器如何保证安全性能。1.数据加密阿里云服务器提供了多种数据加密方式,包括SSL/TLS协议、HTTPS协议等,可以对传输的数据进行加密保护。此外,阿里云还支持数据加密存储功能,
阿里云服务器怎样保证安全性能
2024-01-30

微服务中怎么通过Feign实现密码安全认证

本篇文章为大家展示了微服务中怎么通过Feign实现密码安全认证,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。微服务通过Feign调用进行密码安全认证Feign是客户端配置,@FeignClient注
2023-06-20

Java对象的内存分配是怎么保证线程安全的

本篇内容主要讲解“Java对象的内存分配是怎么保证线程安全的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java对象的内存分配是怎么保证线程安全的”吧!JVM内存结构,是很重要的知识,相信每一
2023-06-16

怎么解析Spring Cloud 微服务系统中分布式事务解决方案

本篇文章为大家展示了怎么解析Spring Cloud 微服务系统中分布式事务解决方案,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、微服务系统最大的挑战数据的并发访问、修改不同请求之间的数据隔离多
2023-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录