全局token校验,代码如下
@Component
public class TokenGlobalFilter implements GlobalFilter, Ordered {
/**
* 不进行token校验的请求地址 可配置在配置文件中
*/
@Value("#{'${ignoreUrlList}'.split(',')}")
public List<String> ignoreUrlList;
/**
* 拦截所有的请求头
*
* @param exchange
* @param chain
* @return
*/
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
ServerHttpRequest request = exchange.getRequest();
ServerHttpResponse response = exchange.getResponse();
// 获取请求url
String requestUrl = request.getPath().toString();
Boolean canSkip = false;
// 请求方式是OPTIONS的时候 跳过
String method = request.getMethod().name();
if (RequestMethod.OPTIONS.name()