Gateway使用时不走全局过滤器

报错

今天配置nacos+gateway作为项目的基础,想通过gateway的过滤器进行token的校验。百度后,发送请求,进行网关找到对应的服务,但是没有进行token校验。每次请求都能够进入到方法体中。
自定义过滤器:

@Component public class TokenFilter implements GatewayFilter, Ordered { @Resource private RedisUtils redisUtils; /** * token过滤 */ @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { return chain.filter(exchange); } @Override public int getOrder() { // ordered的值越大,优先级越低,越靠后执行 return -2; } }

配置文件中信息:

spring: cloud: gateway: discovery: locator: enabled: true #自动匹配nacos中服务名称,不用我们每次都进行服务路由配置 lower-case-service-id: true # 小写名称匹配 # routes: # - id: function # uri: lb://service-function # predicates: # - Path=/function/** # - id: ebook # uri: lb://service-ebook # nacos 中服务的名称 # predicates: # 断言类型: Path、Query、Method、Header等,写法必须遵循 key=vlue的形式 # - Path=/ebook/** default-filters: - StripPrefix=1 # 1 表示: /ebook/auth/code => /auth/code

查找:

Gateway的过滤器,分为两种一个是全局过滤器(GlobalFilter,10个),一个是配置文件生成的过滤器(由配置文件得到的2个过滤器,StripPrefix=1lb://serviceid),但自定义的过滤器,却看不到。
image

处理

public class TokenFilter implements GlobalFilter, Ordered {}
这样在全局过滤器中就能找到了


参考资料:https://www.oschina.net/question/2303434_2317418?sort=time


__EOF__

本文作者之士咖啡
本文链接https://www.cnblogs.com/zz-1q/p/17379842.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   之士咖啡  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示