最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Cloud 如何保證微服務(wù)內(nèi)安全

 更新時間:2021年07月16日 11:14:25   作者:sunbufu  
這篇文章主要介紹了Spring Cloud 如何保證微服務(wù)內(nèi)安全的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

一、簡介

在微服務(wù)的架構(gòu)下,我們需要把系統(tǒng)的業(yè)務(wù)劃分成多個單一的微服務(wù)。每個微服務(wù)都會提供接口供其他微服務(wù)調(diào)用,在Dubbo中可以通過rmi、nio等實現(xiàn),Spring Cloud中是通過http調(diào)用的。

但有些時候,我們只希望用戶通過我們的網(wǎng)關(guān)調(diào)用微服務(wù),不允許用戶直接請求微服務(wù)。這時我們就可以借助Spring Security來保障安全。

二、使用步驟

2.1 在提供接口的微服務(wù)項目中配置Spring Security

1 首先在pom.xml引入Spring Security的相關(guān)配置,如下

        <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 此時訪問接口發(fā)現(xiàn)已經(jīng)需要認(rèn)證了。

需要認(rèn)證

輸入正確的賬號和密碼后就可以訪問了。

2.2在調(diào)用微服務(wù)項目中配置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服務(wù)的工程

2. sunbufu-hello-face:服務(wù)接口的定義工程,其中包括定義微服務(wù)需要實現(xiàn)什么功能,其他微服務(wù)怎么調(diào)用,以及feign的配置

3. sunbufu-hello-impl:服務(wù)接口的實現(xiàn)工程,實現(xiàn)了sunbufu-hello-face定義的功能

4. sunbufu-hello-web:服務(wù)的網(wǎng)關(guān)工程,主要為了調(diào)用sunbufu-hello-face

Spring Cloud服務(wù)安全連接

Spring Cloud可以增加HTTP Basic認(rèn)證來增加服務(wù)連接的安全性。

1、加入security啟動器

在maven配置文件中加入Spring Boot的security啟動器。

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

這樣,就開啟對服務(wù)連接的安全保護(hù),系統(tǒng)默認(rèn)為生成一個用戶名為”user”及一個隨機(jī)密碼,隨機(jī)密碼在服務(wù)啟動的時候在日志中會打印出來。

2、自定義用戶名密碼

隨機(jī)密碼沒什么實際意義,我們需要一個固定的連接用戶名和密碼。

在應(yīng)用配置文件中加入以下配置即可。

security: 
  user: 
    name: admin
    password: admin123456

這樣配置完后在連接這個服務(wù)的時候就會要求輸入用戶名和密碼,如果認(rèn)證失敗會返回401錯誤。

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

3、安全連接

1、注冊中心安全連接

username:password@ipaddress

2、Feign申明式服務(wù)安全連接

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

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談java 增強(qiáng)型的for循環(huán) for each

    淺談java 增強(qiáng)型的for循環(huán) for each

    下面小編就為大家?guī)硪黄獪\談java 增強(qiáng)型的for循環(huán) for each。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • Maven項目web多圖片上傳及格式驗證的實現(xiàn)

    Maven項目web多圖片上傳及格式驗證的實現(xiàn)

    本文主要介紹了Maven項目web多圖片上傳及格式驗證的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • MyBatis中多對多關(guān)系的映射和查詢

    MyBatis中多對多關(guān)系的映射和查詢

    本文主要介紹了MyBatis中多對多關(guān)系的映射和查詢的相關(guān)知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • Java多線程并發(fā)FutureTask使用詳解

    Java多線程并發(fā)FutureTask使用詳解

    Java?的多線程機(jī)制本質(zhì)上能夠完成兩件事情,異步計算和并發(fā),F(xiàn)utureTask?是基于?Runnable?實現(xiàn)的一個可取消的異步調(diào)用?API,本文給大家介紹Java?多線程并發(fā)FutureTask及基本使用,需要的朋友可以參考下
    2022-06-06
  • JavaWeb Struts文件上傳功能實現(xiàn)詳解

    JavaWeb Struts文件上傳功能實現(xiàn)詳解

    這篇文章主要為大家詳細(xì)介紹了JavaWeb Struts文件上傳功能實現(xiàn)過程,思路清晰,供大家參考,感興趣的小伙伴們可以參考一下
    2016-06-06
  • spring AOP自定義注解方式實現(xiàn)日志管理的實例講解

    spring AOP自定義注解方式實現(xiàn)日志管理的實例講解

    下面小編就為大家分享一篇spring AOP自定義注解方式實現(xiàn)日志管理的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • java使用三層架構(gòu)實現(xiàn)電影購票系統(tǒng)

    java使用三層架構(gòu)實現(xiàn)電影購票系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java使用三層架構(gòu)實現(xiàn)電影購票系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 淺談Java自定義注解相關(guān)知識

    淺談Java自定義注解相關(guān)知識

    今天帶大家來學(xué)習(xí)Java注解的相關(guān)知識,文中對自定義注解作了非常詳細(xì)的介紹,對正在學(xué)習(xí)Java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • java后臺調(diào)用接口及處理跨域問題的解決

    java后臺調(diào)用接口及處理跨域問題的解決

    這篇文章主要介紹了java后臺調(diào)用接口,處理跨域的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • log4j的使用詳細(xì)解析

    log4j的使用詳細(xì)解析

    最近在整理公司產(chǎn)品的日志輸出規(guī)范,涉及l(fā)og4j的使用介紹,就簡單整理了一下。需要的朋友可以過來參考參考
    2013-08-08

最新評論

花垣县| 桂平市| 门头沟区| 锡林郭勒盟| 突泉县| 米泉市| 封开县| 即墨市| 吴堡县| 凤翔县| 黄骅市| 承德县| 斗六市| 崇州市| 天峻县| 南澳县| 夏邑县| 四会市| 梅河口市| 郓城县| 浦城县| 横峰县| 称多县| 西盟| 太原市| 永嘉县| 婺源县| 祁阳县| 庐江县| 原平市| 九寨沟县| 汝州市| 邮箱| 平果县| 永嘉县| 清新县| 闽侯县| 安西县| 渭源县| 收藏| 古田县|