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

Spring Cloud 服務(wù)網(wǎng)關(guān)Zuul的實(shí)現(xiàn)

 更新時(shí)間:2019年07月01日 09:08:14   作者:阿南  
這篇文章主要介紹了Spring Cloud 服務(wù)網(wǎng)關(guān)Zuul的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

服務(wù)網(wǎng)關(guān)的要素

  • 穩(wěn)定性
  • 安全性
  • 性能,并發(fā)性
  • 擴(kuò)展性

Spring Cloud Zuul

 - 路由+過濾器
 - 核心是一系列的過濾器
 

Zuul路由配置

management:
  security:
    enabled: false // 權(quán)限設(shè)置
zuul: 
  routes:
    # myProduct:  // 這個(gè)名稱可以隨便填
    #   path: /myProduct/**
    #   serviceId: product
    #   sensitiveHeader: //敏感頭過濾
    # 簡(jiǎn)潔寫法
    product: /myProduct/**
  ignored-patterns: 
    - /**/product/listForOrder // 不對(duì)外部訪問(-代表set集合)
查看所有的路由規(guī)則:localhost:port/application/routes
{
  /myProduct/**: "product",
  /config/**: "config",
  /product/**: "product",
}
  

Zuul配置的動(dòng)態(tài)注入(也可以寫入啟動(dòng)類中)

@Compoent
public class ZuulConfig{
  @ConfigurationProperties("zuul")
  @RefreshScope
  public ZuulProperties zuulProperties(){
    return new ZuulProperties();
  }
}

典型應(yīng)用場(chǎng)景

前置過濾器

 - 限流
 - 鑒權(quán)
 - 參數(shù)校驗(yàn)調(diào)整

后置過濾器

- 統(tǒng)計(jì)
- 日志

要想實(shí)現(xiàn)Filter,需要以下幾個(gè)步驟:

1、繼承ZuulFilter類,為了驗(yàn)證Filter的特性,我們這里創(chuàng)建3個(gè)Filter

根據(jù)用戶名來過濾

package com.chhliu.springcloud.zuul; 
 
import javax.servlet.http.HttpServletRequest; 
 
import com.netflix.zuul.ZuulFilter; 
import com.netflix.zuul.context.RequestContext; 
 
public class AccessUserNameFilter extends ZuulFilter { 
  @Override 
  public Object run() { 
    RequestContext ctx = RequestContext.getCurrentContext(); 
    HttpServletRequest request = ctx.getRequest(); 
 
    System.out.println(String.format("%s AccessUserNameFilter request to %s", request.getMethod(), request.getRequestURL().toString())); 
 
    String username = request.getParameter("username");// 獲取請(qǐng)求的參數(shù) 
    if(null != username && username.equals("chhliu")) {// 如果請(qǐng)求的參數(shù)不為空,且值為chhliu時(shí),則通過 
      ctx.setSendZuulResponse(true);// 對(duì)該請(qǐng)求進(jìn)行路由 
      ctx.setResponseStatusCode(200); 
      ctx.set("isSuccess", true);// 設(shè)值,讓下一個(gè)Filter看到上一個(gè)Filter的狀態(tài) 
      return null; 
    }else{ 
      ctx.setSendZuulResponse(false);// 過濾該請(qǐng)求,不對(duì)其進(jìn)行路由 
      ctx.setResponseStatusCode(401);// 返回錯(cuò)誤碼 
      ctx.setResponseBody("{\"result\":\"username is not correct!\"}");// 返回錯(cuò)誤內(nèi)容 
      ctx.set("isSuccess", false); 
      return null; 
    } 
  } 
 
  @Override 
  public boolean shouldFilter() { 
    return true;// 是否執(zhí)行該過濾器,此處為true,說明需要過濾 
  } 
 
  @Override 
  public int filterOrder() { 
    return 0;// 優(yōu)先級(jí)為0,數(shù)字越大,優(yōu)先級(jí)越低 
  } 
 
  @Override 
  public String filterType() { 
    return "pre";// 前置過濾器 
  } 
} 

參考:http://m.fzitv.net/article/133244.htm

 以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于java Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)詳解

    基于java Springboot實(shí)現(xiàn)教務(wù)管理系統(tǒng)詳解

    這篇文章主要介紹了Java 實(shí)現(xiàn)簡(jiǎn)易教務(wù)管理系統(tǒng)的代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Spring HandlerInterceptor實(shí)現(xiàn)原理代碼解析

    Spring HandlerInterceptor實(shí)現(xiàn)原理代碼解析

    這篇文章主要介紹了Spring HandlerInterceptor實(shí)現(xiàn)原理代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java對(duì)象創(chuàng)建的幾種方式總結(jié)

    Java對(duì)象創(chuàng)建的幾種方式總結(jié)

    本文詳細(xì)介紹了Java中創(chuàng)建對(duì)象的五種方法,包括使用new關(guān)鍵字、Class的newInstance()方法、Constructor的newInstance()方法、克隆以及反序列化,同時(shí)討論了這些方式是否調(diào)用了構(gòu)造器以及創(chuàng)建對(duì)象的條件,文章還提供了示例代碼進(jìn)行演示,需要的朋友可以參考下
    2025-02-02
  • 使用Intellij IDEA查看Java源碼技巧

    使用Intellij IDEA查看Java源碼技巧

    這篇文章主要介紹了使用Intellij IDEA查看Java源碼技巧,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • 淺談Java 中的引用類型

    淺談Java 中的引用類型

    Java開發(fā)者肯定都很熟悉java中的4種引用類型,它們從強(qiáng)到弱分別是:強(qiáng)引用、軟引用、弱引用和虛引用,下面我們?cè)敿?xì)看看這些引用類型
    2020-02-02
  • 詳解Java 線程中斷

    詳解Java 線程中斷

    這篇文章主要介紹了Java 線程中斷的相關(guān)資料,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-02-02
  • 通過代碼示例了解submit與execute的區(qū)別

    通過代碼示例了解submit與execute的區(qū)別

    這篇文章主要介紹了通過代碼示例了解submit與execute的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • java爬取并下載酷狗TOP500歌曲的方法

    java爬取并下載酷狗TOP500歌曲的方法

    這篇文章主要介紹了java爬取并下載酷狗TOP500歌曲的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2019-01-01
  • SpringBoot中使用Swagger的最全方法詳解

    SpringBoot中使用Swagger的最全方法詳解

    Swagger是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化Restful風(fēng)格的Web服務(wù),這篇文章主要給大家介紹了關(guān)于SpringBoot中使用Swagger的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Java項(xiàng)目如何防止SQL注入(多種方案匯總)

    Java項(xiàng)目如何防止SQL注入(多種方案匯總)

    SQL注入即是指web應(yīng)用程序?qū)τ脩糨斎霐?shù)據(jù)的合法性沒有判斷或過濾不嚴(yán),攻擊者可以在web應(yīng)用程序中事先定義好的查詢語句的結(jié)尾上添加額外的SQL語句,這篇文章主要介紹了?Java項(xiàng)目防止SQL注入的四種方案,需要的朋友可以參考下
    2023-12-12

最新評(píng)論

环江| 凉山| 香河县| 竹北市| 织金县| 霸州市| 仙桃市| 河源市| 那坡县| 巴马| 开原市| 浦城县| 孝感市| 肥西县| 保靖县| 进贤县| 分宜县| 嘉善县| 襄汾县| 犍为县| 定南县| 绥中县| 定日县| 灵川县| 交口县| 洪雅县| 北宁市| 若尔盖县| 大竹县| 临沂市| 康乐县| 高邮市| 库尔勒市| 阳朔县| 锡林浩特市| 射洪县| 阿拉善左旗| 隆尧县| 全南县| 南召县| 桐柏县|