【问题标题】:Spring Flux: How to configure multiple WebFilterSpring Flux:如何配置多个 WebFilter
【发布时间】:2020-06-06 15:15:43
【问题描述】:

我正在编写一个 Spring Web Flux 应用程序。我创建了两个 WebFilter 组件:

AlphaFilter

class AlphaFilter implement WebFilter {
    public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
        // ....
        // Alpha Filter Configurations
        return chain.filter(exchange);
    }
}

身份验证过滤器

class AuthenticationFilter implement WebFilter {
    public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
        // ....
        // Alpha Filter Configurations
        return chain.filter(exchange);
    }
}

我想确保AuthenticationFilterAlphaFilter 之前运行。如何配置过滤器使AuthenticationFilterAlphaFilter 之前运行?

【问题讨论】:

    标签: spring-boot spring-webflux


    【解决方案1】:

    萨加尔,

    this part of the documentation 会回答你的问题吗?

    在WebHandler API中,可以使用WebFilter来申请 其余处理之前和之后的拦截式逻辑 过滤器链和目标 WebHandler。使用 WebFlux 时 配置,注册一个 WebFilter 就像声明它一样简单 Spring bean 和(可选)通过使用 @Order on 表示优先级 bean 声明或通过实现 Ordered。

    【讨论】:

    • 谢谢@Stepan。在 AlphaFilter 上添加了 AuthenticationFilter 和 @Order(2) 的 @Order(1) 注释。这有帮助。
    猜你喜欢
    • 2020-04-05
    • 1970-01-01
    • 2015-02-18
    • 2016-11-22
    • 2018-02-26
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多