色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Spring Cloud 如何保證微服務內安全

瀏覽:5日期:2023-07-01 16:39:31
一、簡介

在微服務的架構下,我們需要把系統的業務劃分成多個單一的微服務。每個微服務都會提供接口供其他微服務調用,在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個工程的說明:

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 {}

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 538prom精品视频在放免费 | 国产免费v片在线看 | 精品一区二区在线欧美日韩 | 国产乱子伦视频大全 | 欧美成人免费 | 亚洲最黄网站 | 91小视频在线观看免费版高清 | 精品国产自在现线看久久 | 三级视频网站 | 中文字幕欧美在线观看 | 丝袜美腿在线不卡视频播放 | 久久国产欧美另类久久久 | 精品毛片免费看 | 成年人在线视频网站 | 外国三级毛片 | 美女张开腿让男人桶的动态图 | 天天碰夜夜操 | 国产一区日韩二区欧美三 | 美日韩黄色片 | 色欧美hdvideosxs4k | 亚洲免费专区 | 久久国产欧美另类久久久 | 久久久久久久久久久大尺度免费视频 | 日本特黄特色大片免费视频网站 | 性感美女一级毛片 | 精品a在线观看 | 五月激激激综合网色播免费 | 欧美日韩亚洲高清不卡一区二区三区 | 国产福利微拍精品一区二区 | 亚洲欧美高清在线 | 亚洲欧美中文日韩在线v日本 | 加勒比色综合 | 久草在线新免费 | 亚洲精品一区二区在线观看 | 国产片一级 | 91情国产l精品国产亚洲区 | 日本道综合一本久久久88 | 国产美女主播一级成人毛片 | 精品一区二区三区在线观看 | 尤物蜜芽福利国产污在线观看 | 一级黄色免费网站 |