刘光辉
14 小时以前 34981c30a78e8bbd7791131059a9210f9928b62c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package jnpf.filter;
 
import cn.dev33.satoken.reactor.context.SaReactorSyncHolder;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
 
/**
 * 网关过滤器
 */
public class ContextGatewayFilterForReactor implements GlobalFilter, Ordered {
 
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        //初始化SaToken上下文
        SaReactorSyncHolder.setContext(exchange);
        return chain.filter(exchange)
                .doFinally(s -> SaReactorSyncHolder.clearContext());
    }
 
    @Override
    public int getOrder() {
        return 0;
    }
}