网关的鉴权:权限身份认证作用实际上就是由一串组合起来的过滤器实现的,
过滤器的自定义过程就是实现两个接口org.springframework.cloud.gateway.filter.GlobalFilter和org.springframework.core.Ordered
通过重写org.springframework.cloud.gateway.filter.GlobalFilter中的filter方法来定义过滤的逻辑
通过重写org.springframework.core.Ordered中的getOrder方法来决定该自定义过滤器在过滤器执行链GatewayFilterChain chain中的过滤顺序,其中getOrder方法return的值越小越先执行
下面通过一个自定义的例子来演示如何自定义一个网关的过滤器:
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.juyuansoft.constant.SecurityConstants;
import com.juyuansoft.security.JyAuthHeaders;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwtException;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import com.juyuansoft.core.Result;
import com.juyuansoft.core.ResultCode;
import com.juyuansoft.uitl.JwtUtils;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.core.io.buffer.DataBuffer;
import org.springframework.core