春クラウドゲートウェイは、(必要なフィルタ構成ファイルに配置された)実行フィルタを指定します

                                   春クラウドゲートウェイは、フィルタを実行するように指定します 

                                               設定は、フィルタ構成ファイルで必要

 

ゲートウェイ構成は、2つのフィルタに分割されています

①:グローバルフィルタ

グローバルフィルタは、サービスへのすべての要求がインターセプトし、プロファイル設定する必要はありません


/**
 * @author 荡漾
 * @title: TokenFilter
 * @projectName gateway
 * @description: TODO token校验全局过滤器
 * @date 2019/6/21  12:41
 */
@Configuration
@Slf4j
public class TokenFilter implements GlobalFilter, Ordered {

    @Override
    public int getOrder() {
        return -10000;
    }

 @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
       return chain.filter(exchange);
  }
}

②:指定フィルタ

継承AbstractGatewayFilterFactoryする必要があります  

利点は、構成ファイルで構成することができ、フィルタは、サービスに指定することができ、

単純に示すように、コンフィギュレーション・ファイルの名前に対応したフィルタ:

それはあなたのフィルタ名のサフィックスがTestGatewayFilterFactoryとしてGatewayFilterFactoryであれば、あなたがそれにフルネームを書くことができない場合は、単に設定ファイルでテストを書くことは注目に値します


@Component
@Slf4j
public class Test  extends AbstractGatewayFilterFactory<Test.NameConfig> {


    public Test() {
        super(NameConfig.class);
        log.info("Loaded GatewayFilterFactory [Authorize]");
    }

    @Override
    public GatewayFilter apply(Test.NameConfig config) {
        return (exchange, chain) -> {
            System.out.println("=  =  =  =  =  = 执行了=  =  =  =  =  =  =  =");
            return chain.filter(exchange);
        };
    }
    public static class NameConfig {

        private String name;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

    }
}

参考:  StackOverflowの 

66元記事公開 ウォン称賛85 ビューに14万+を

おすすめ

転載: blog.csdn.net/qq_38380025/article/details/104894916
おすすめ