Gateway网关模块中设置全局过滤器

以下是一个用来做登录校验的全局过滤器

复制代码
@Component
@Slf4j
public class AuthorizeFilter implements Ordered, GlobalFilter {
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        //1.获取request和response对象
        ServerHttpRequest request = exchange.getRequest();
        ServerHttpResponse response = exchange.getResponse();

        //2.判断是否是登录请求
        if(request.getURI().getPath().contains("/login")){
            //放行
            return chain.filter(exchange);
        }

        //3.获取token
        String token = request.getHeaders().getFirst("token");

        //4.判断token是否存在
        if(StringUtils.isBlank(token)){
            response.setStatusCode(HttpStatus.UNAUTHORIZED);
            return response.setComplete();
        }

        //5.判断token是否有效
        try{
            Claims claimsBody = AppJwtUtil.getClaimsBody(token);
            //是否过期
            int result = AppJwtUtil.verifyToken(claimsBody);
            if(result == 1 || result == 2){
                response.setStatusCode(HttpStatus.UNAUTHORIZED);
                return response.setComplete();
            }

        }catch (Exception e){
            e.printStackTrace();
            response.setStatusCode(HttpStatus.UNAUTHORIZED);
            return response.setComplete();
        }

        //6.放行
        return chain.filter(exchange);
    }

    /**
     * 过滤器优先级设置,值越小,优先级越高
     * @return
     */
    @Override
    public int getOrder() {
        return 0;
    }
}
复制代码

 

posted @   愿你所盼皆入怀  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
  1. 1 一言难尽 张宇
  2. 2 半岛铁盒 周杰伦
  3. 3 暗号 周杰伦
  4. 4 少女的祈祷 杨千嬅
  5. 5 花田错 王力宏
  6. 6 最伟大的作品 周杰伦
  7. 7 不浪漫罪名 王杰
  8. 8 最佳损友 陈奕迅
最佳损友 - 陈奕迅
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

最佳损友 - 陈奕迅 (Eason Chan)

词:黄伟文

曲:Eric Kwok

朋友 我当你一秒朋友

朋友 我当你一世朋友

朋友 我当你一世朋友

奇怪 过去再不堪回首

奇怪 过去再不堪回首

怀缅 时时其实还有

怀缅 时时其实还有

朋友 你试过将我营救

朋友 你试过将我营救

朋友 你试过把我批斗

朋友 你试过把我批斗

无法 再与你交心联手

无法 再与你交心联手

毕竟 难得有过最佳损友

毕竟 难得有过最佳损友

从前共你 促膝把酒

从前共你 促膝把酒

倾通宵都不够

我有痛快过 你有没有

很多东西今生只可给你

很多东西今生只可给你

保守至到永久

别人如何明白透

实实在在

踏入过我宇宙

即使相处到 有个裂口

命运决定了

命运决定了

以后再没法聚头

但说过去 却那样厚

但说过去 却那样厚

问我有没有 确实也没有

一直躲避的藉口

非什么大仇

为何旧知己 在最后

变不到老友

不知你是我敌友

不知你是我敌友

已没法望透

被推着走 跟着生活流

来年陌生的

是昨日最亲的某某

生死之交当天不知罕有

生死之交当天不知罕有

到你变节了 至觉未够

多想一天

多想一天

彼此都不追究

相邀再次喝酒

待 葡萄成熟透

但是命运入面

每个邂逅

一起走到了 某个路口

是敌与是友

是敌与是友

各自也没有自由

位置变了 各有队友

问我有没有 确实也没有

一直躲避的藉口

非什么大仇

为何旧知己 在最后

变不到老友

不知你是我敌友

不知你是我敌友

已没法望透

被推着走 跟着生活流

来年陌生的

是昨日最亲的某某

早知解散后

各自有际遇作导游

奇就奇在 接受了

各自有路走

却没人像你 让我

眼泪背着流

严重似情侣 讲分手

有没有 确实也没有

有没有 确实也没有

一直躲避的藉口 非什么大仇

为何旧知己 在最后

变不到老友

不知你又有没有

不知你又有没有

挂念这旧友

或者自己 早就想通透

来年陌生的 是昨日

最亲的某某

总好于 那日我 没有

没有 遇过 某某

点击右上角即可分享
微信分享提示