• 阶段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


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

    请求测试

    进入到断点


    结束


     

  • 相关阅读:
    tuple元组
    list列表
    OS模块
    time模块/datetime模块/calendar模块
    Codeforces Round #196 (Div. 2)
    【HDU 2853】 KM算法
    【HDU1914 The Stable Marriage Problem】稳定婚姻问题
    【HDU4585 Shaolin】map的经典运用
    【HDU4578 Transformation】线段树
    【HDU4632 Palindrome subsequence】区间dp
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11645132.html
Copyright © 2020-2023  润新知