广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Spring Cloud 如何保证微服务内安全
  • 474
分享到

Spring Cloud 如何保证微服务内安全

2024-04-02 19:04:59 474人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

一、简介 在微服务的架构下,我们需要把系统的业务划分成多个单一的微服务。每个微服务都会提供接口供其他微服务调用,在dubbo中可以通过rmi、NIO等实现,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 此时访问接口发现已经需要认证了。

需要认证

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

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;
@Configuration
public 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 这样完成后,就可以正常的访问了。

正常访问

三、实例

工程介绍

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

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

1. sunbufu-erueka:Eureka服务的工程

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

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

4. 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、安全连接

1、注册中心安全连接


username:password@ipaddress

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


@FeignClient(name = "SERVICE", configuration = FeignAuthConfig.class)
public interface OrderService extends Orderapi {
}

@Configuration
public class FeignAuthConfig {
    @Bean
    public BasicAuthRequestInterceptor basicAuthRequestInterceptor() {
        return new BasicAuthRequestInterceptor("admin","admin123456");
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Spring Cloud 如何保证微服务内安全

本文链接: https://www.lsjlt.com/news/130628.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Spring Cloud 如何保证微服务内安全
    一、简介 在微服务的架构下,我们需要把系统的业务划分成多个单一的微服务。每个微服务都会提供接口供其他微服务调用,在Dubbo中可以通过rmi、nio等实现,Spring Cloud中...
    99+
    2022-11-12
  • Spring Cloud怎么保证微服务内安全
    这篇文章主要为大家展示了“Spring Cloud怎么保证微服务内安全”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring Cloud怎么保证微服务内安全”这篇文章吧。一、简介在微服务的架...
    99+
    2023-06-20
  • 教你Spring Cloud保证各个微服务之间调用安全性
    导读:在微服务的架构下,系统会根据业务拆分为多个服务,各自负责单一的职责,在这样的架构下,我们需要确保各api的安全性,也就是说服务不是开放的,而是需要授权才可访问的,避免接口被不合...
    99+
    2022-11-12
  • 如何理解Spring Cloud微服务架构
    这篇文章主要讲解了“如何理解Spring Cloud微服务架构”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解Spring Cloud微服务架构”吧!...
    99+
    2022-10-19
  • 如何使用Spring Cloud构建微服务架构?
    微服务架构模式的核心在于如何识别服务的边界,设计出合理的微服务。但如果要将微服务架构运用到生产项目上,并且能够发挥该架构模式的重要作用,则需要微服务框架的支持。在 Java 生态圈,目前使用较多的微服务框架就是集成了包括 Netflix O...
    99+
    2023-06-05
  • 如何保证Linux服务器的安全
      很少见有人马上为一台新安装的服务器做安全措施,然而我们生活所在的这个社会使得这件事情是必要的。不过为什么仍旧这么多人把它拖在最后?我已经做了相同的事情,它常常可以归结为想要马上进入有趣的东西。希望这篇文章将向...
    99+
    2022-06-03
    Linux 服务器
  • 如何理解Spring Cloud和Docker的微服务架构
    如何理解Spring Cloud和Docker的微服务架构,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  Spring Cloud和Docker的微服务架构  功能服务 ...
    99+
    2023-06-04
  • 云服务器如何保证数据安全
    云服务器保证数据安全的方法:使用SSH安全保护,在SHH配置文件中设置访问IP或域名白名单、禁止root登录、复杂SSH密码、禁止通过文件直接登录等。将SSH常用的22号端口关闭,更改为10000以上的随机端口,防止端口扫描。将数据定期备份...
    99+
    2022-10-12
  • 国内云服务器怎么保证数据安全性
    国内云服务器保证数据安全性的方法:1、搭建完善的数据隔离防护系统,提高国内云服务器数据安全性;2、定时对国内云服务器数据进行备份;3、对存储在国内云服务器上的数据进行加密;4、避免所有数据在云端处理,做一个国内云服务器副本进行分类;5、做好...
    99+
    2022-10-16
  • 云服务器如何保证数据安全性
    云服务器保证数据安全性的方法:1、搭建完善的数据隔离防护系统,提高云服务器数据安全性;2、定时对云服务器数据进行备份;3、对存储在云服务器上的数据进行加密;4、避免所有数据在云端处理,做一个云服务器副本进行分类;5、做好身份认证,对访问云服...
    99+
    2022-10-22
  • 服务器租用如何保证数据安全
    服务器租用保证数据安全的方法:1、需要做好服务器数据库维护措施,避免数据丢失;2、需要定期更新服务器软件程序,避免黑客利用漏洞窃取数据;3、需要做好服务器数据备份操作,防止数据丢失无法恢复;4、需要给服务器建立一个完善的灾难恢复机制,从而保...
    99+
    2022-10-09
  • 如何保证Linux服务器的网络安全
    保证Linux服务器网络安全的方法:1、对指定网站设置禁止访问,如使用域名或IP地址的方式来禁止网站访问;2、使用相关命令禁止linux服务器上网;3、通过禁止服务使用的端口号来禁止linux服务器上的某些访问。具体内容如下:对指定网站禁止...
    99+
    2022-10-07
  • 租用服务器后如何保证安全性
    租用服务器后保证安全性的方法:1、安装服务器时要挑选绿色的防护软件,选择最高的防火墙,有服务器端口开放;2、对程的端口进行更改;3、及时修补出现的漏洞,杜绝病毒的侵入;4、设置复杂的密码,以防黑客入侵服务器;5、拥有多个服务器,即使服务器受...
    99+
    2022-10-24
  • PHP Spring 文件同步:如何保证数据安全性?
    文件同步是现代技术的一个重要组成部分,它能够将不同设备之间的数据进行同步,从而实现数据的共享。在众多同步工具中,PHP Spring 是一款非常流行的同步工具,它能够实现快速、高效的文件同步。但是,数据安全性一直是文件同步的一个重要问题。...
    99+
    2023-08-06
    spring 文件 同步
  • 国内bgp高防服务器怎么保证网站安全
    国内bgp高防服务器保证网站安全的方法:1、控制网站访问,将网站做成静态页面,并对网站的连接数量、访问及来源实行控制;2、关闭不必要的服务和端口,能节省资源的同时避免服务器出现问题;3、隐藏真实IP地址,所有的域名和子域都使用CDN来解析;...
    99+
    2022-10-21
  • 裸金属服务器如何保证数据安全
    裸金属服务器保证数据安全的方法:1、裸金属服务器具备物理机级的性能和隔离性,用户独占计算资源;2、带有本地磁盘的裸金属服务器,能够支持本地磁盘组RAID,保证数据安全;3、无本地磁盘的裸金属服务器,能够支持从云硬盘启动,利用云服务器备份进行...
    99+
    2022-10-05
  • 云服务器如何保证数据安全性能
    数据备份:云服务器会自动将数据备份到多个位置,以防止数据丢失或损坏。备份可以是定期自动备份或实时备份,以保证数据的安全性和可用性。 数据恢复:如果出现数据丢失或损坏的情况,云服务器会自动尝试恢复数据。如果无法恢复,云服务器会提供快速恢复机...
    99+
    2023-10-27
    性能 服务器 数据
  • 香港服务器租用如何保证数据安全
    香港服务器租用保证数据安全的方法:1、需要做好对香港服务器的数据库进行维护,防止数据泄露;2、需要定期更新香港服务器的软件程序,防止黑客利用漏洞进行攻击;3、需要对香港服务器的数据进行备份,防止数据丢失无法恢复;4、给香港服务器搭建一个完善...
    99+
    2022-10-02
  • 美国vps云服务器如何保证数据安全
    美国vps云服务器保证数据安全的方法:1、美国vps云服务器架构在硬件计算机集群上,采用raid5和负载均衡,稳定性可靠;2、美国vps云服务器采用BGP优质线路,且带宽资充足,能保证数据的传输安全;3、美国vps云服务器采用优质的虚拟化架...
    99+
    2022-10-10
  • 如何保证阿里云服务器的安全启动
    简介:在使用阿里云服务器时,确保服务器的安全启动至关重要。本文将介绍一些关键措施,以确保您的服务器在启动时保持安全。 详细说明:更新操作系统和软件:及时更新操作系统和相关软件是确保服务器安全的关键。这有助于修复已知漏洞和错误,并提供最新的安...
    99+
    2023-12-31
    阿里 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作