zoukankan      html  css  js  c++  java
  • 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_16-网关-过虑器

    4.5 过虑器
    Zuul的核心就是过虑器,通过过虑器实现请求过虑,身份校验等。
    4.5.1 ZuulFilter
    自定义过虑器需要继承 ZuulFilter,ZuulFilter是一个抽象类,需要覆盖它的四个方法,如下:
    1、 shouldFilter:返回一个Boolean值,判断该过滤器是否需要执行。返回true表示要执行此过虑器,否则不执行。
    2、 run:过滤器的业务逻辑。
    3、 filterType:返回字符串代表过滤器的类型,
    如下
    pre:请求在被路由之前执行
    routing:在路由请求时调用
    post:在routing和errror过滤器之后调用
    error:处理请求时发生错误调用

    4、 filterOrder:此方法返回整型数值,通过此数值来定义过滤器的执行顺序,数字越小优先级越高。

    定义测试类‘

    一定要继承ZuulFilter


    实现方法

    这个类 一定要用@Component 因为他是spring 容器的一个Bean




    测试方法

    过虑所有请求,判断头部信息是否有Authorization,如果没有则拒绝访问,否则转发到微服务。

    从request里面拿到头信息,所以需要先得到request。Zuul给我们提供了RequestContext获取上下文对象

    从上下文中就拿到了request



    设置响应,上面还需要拿到Response


    每一个路由进来都会经过过滤器

    请求测试

    进入到断点


    结束


     

  • 相关阅读:
    GUID
    Castle学习笔记二:框架结构及配置
    Linux编程基础
    Linux文件编程
    单臂路由配置实例
    CCNA学习笔记#02第7章操作与配置Cisco IOS
    Linux基本命令
    Linux系统中rar、unrar命令安装和使用详解
    批处理设置IP与DNS服务器
    Linux下载安装5笔输入法
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11645132.html
Copyright © 2011-2022 走看看