这是我参与11月更文挑战的第23天,活动详情查看:2021最后一次更文挑战
前情回顾
上篇文章,我们讲到了Gateway中的路由如何配置,及如何去细致的匹配相应的访问链接等知识点,这些就足以让我们入门Gateway的开发了。
但是,需求是不断迭代的,所以要使用更多Gateway中提供的一些特性功能等,今天就和大家聊一下Gateway提供的网关过滤器。
Gateway提供了哪些过滤器类型
Gateway中一共提供了两种过滤器,一种是GatewayFilter、GlobalFilter;
GatewayFilter:Gateway网关过滤器,是针对单个路由的过滤器,又称局部过滤器,其功能是针对访问的URL起到一定的过滤效果。
GlobalFilter:从名称而言,那就是全局过滤器,是需要实现具体的Java类来实现GlobalFilter接口,这其中可以根据进行权限的验证,HTTP请求的头部添加等等。
Gateway新增一个全局网关过滤器
1 | ini复制代码public class AuthFilter implements GlobalFilter, Ordered { |
上述代码中就是实现了一个全局权限验证的过滤器,将其放置在Gateway中来实现,就是要对所有的URL来进行验证,其中使用了JwtUtil来解析token,这个我们后面会说一下如何集成JWT的,请大家稍安勿躁。
并且实现了Ordered接口,使用此接口来限定在多个过滤器场景下的过滤器执行次序的问题。
总结
今天学习了Gateway组件中如何自定义网关过滤器的知识,你是否有所收获呢?
本文转载自: 掘金