SpringCloud全局过虑器GlobalFilter的用法小结

 更新时间:2023年07月08日 16:23:24   作者:李小码哥  
这篇文章主要介绍了SpringCloud全局过虑器GlobalFilter的使用,全局过虑器使用非常广泛,比如验证是否登录,全局性的处理,黑名单或白名单的校验等,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下

使用场景

同事遇到一个很棘手的问题,他当前开发的系统要与别的系统进行对接,当前系统对别的系统进行了放行处理,但对方系统带了一个和当前系统一样的请求头key ,导致对方系统在访问本系统的时候,总是验证不通过,同事请我帮忙,我首先想到的是使用全局过虑器将对方传来的请求头key对应的value置为空,后面试了其它方法都没能解决,最后还是使用全局过虑器解决的。

事例代码

package cn.gybank.gateway.filter;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
@Component
public class MyGlobalFilter implements GlobalFilter, Ordered {
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        ServerHttpRequest request = exchange.getRequest();
        ServerHttpRequest mutableReq = request.mutate().header("Authorization","").build();
        ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build();
        return chain.filter(mutableExchange);
    }
    @Override
    public int getOrder() {
        return -200;
    }
}

总结

全局过虑器使用非常广泛,比如验证是否登录,全局性的处理,黑名单或白名单的校验等,相信你以后一定能用得上。

到此这篇关于SpringCloud全局过虑器GlobalFilter的使用的文章就介绍到这了,更多相关SpringCloud全局过虑器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java如何动态的处理接口的返回数据

    java如何动态的处理接口的返回数据

    本文主要介绍了java如何动态的处理接口的返回数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Java如何利用LocalDate获取某个月的第一天与最后一天日期

    Java如何利用LocalDate获取某个月的第一天与最后一天日期

    这篇文章主要给大家介绍了关于Java如何利用LocalDate获取某个月的第一天与最后一天日期的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • Spring Boot 使用 Hutool-jwt 实现 token 验证功能

    Spring Boot 使用 Hutool-jwt 实现 token 验证功能

    JWT 就是一种网络身份认证和信息交换格式,这篇文章主要介绍了Spring Boot使用Hutool-jwt实现token验证,需要的朋友可以参考下
    2023-07-07
  • Java NIO深入分析

    Java NIO深入分析

    本篇技术文章主要对Java新api(New IO)做了详细深入的讲解,有助于程序对NIO有更加深入的理解。
    2017-12-12
  • 详解java设计模式之六大原则

    详解java设计模式之六大原则

    这篇文章主要介绍了java设计模式之六大原则,对设计模式感兴趣的同学,可以参考下
    2021-05-05
  • java新手入门——String类详解

    java新手入门——String类详解

    在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。string>是C++标准程序库中的一个头文件
    2021-06-06
  • sharding-jdbc5.0.0实现分表实践

    sharding-jdbc5.0.0实现分表实践

    本文主要介绍了sharding-jdbc5.0.0分表实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • MyBatis生成UUID的实现

    MyBatis生成UUID的实现

    这篇文章主要介绍了MyBatis生成UUID的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Java单表实现评论回复功能(多种实现方式)

    Java单表实现评论回复功能(多种实现方式)

    这篇文章主要介绍了Java单表实现评论回复功能,大家都知道评论功能有多种实现方式,本文逐一给大家详细讲解,需要的朋友可以参考下
    2023-03-03
  • Mybatis统计sql运行时间的两种方式

    Mybatis统计sql运行时间的两种方式

    这篇文章主要介绍了Mybatis统计sql运行时间的方案,Spring Boot + Mybatis web项目,统计sql运行时间,用于分析慢sql,优化系统速度,方案有两种:自定义实现 Interceptor和使用现有依赖库(Druid),文中通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-11-11

最新评论