gateway全局token过滤器

news/2024/9/25 13:18:59/

添加gateway依赖

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency>

创建一个tokenFilter
在这里插入图片描述
实现全局过滤器GlobalFilter,并且实现fitler方法
在这里插入图片描述

@Value("${cn.token.key}")private String tokenKey;public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {ServerHttpResponse response = exchange.getResponse();List<String> tokens = exchange.getRequest().getHeaders().get("token");if(ObjectUtil.isEmpty(tokens)){log.debug("请传输token");response.setStatusCode(HttpStatus.PAYMENT_REQUIRED);return response.setComplete();}String token = tokens.get(0);if(ObjectUtil.isEmpty(token)){log.debug("token不能为空");response.setStatusCode(HttpStatus.PAYMENT_REQUIRED);return response.setComplete();}boolean b = false;try {//利用jwt对token进行验证JWTValidator.of(token).validateAlgorithm(JWTSignerUtil.hs256(tokenKey.getBytes())).validateDate();b = true;}catch (Exception ex){ex.printStackTrace();log.error("token不正确");}if(!b){response.setStatusCode(HttpStatus.UNAUTHORIZED);return response.setComplete();}return chain.filter(exchange);}

http://www.ppmy.cn/news/1450803.html

相关文章

智能数据分析平台待修复BUG以及待完成需求

快速跳转&#xff1a;何耳林毕设项目介绍-CSDN博客 BUG 1.个人图标页搜索功能&#xff0c;不能进行搜索 2.用户管理功能头部搜索栏有多余搜索项 3.修改用户权限等信息会影响当前管理用户 待完成需求 1.新增AI问答功能 2.图标页自动刷新功能 3.将个人页更改到头像下拉框&…

Python的使用

1、打印&#xff1a;print&#xff08;‘hello’&#xff09; 2、Python的除法是数学意义上的除法 print&#xff08;2/3&#xff09; 输出&#xff1a;0.6666... 3、a18 a‘hello’ print(a) 可以直接输出 4、**2 表示2的平方 5、打印类型 print&#xff08;type&am…

【Docker学习】docker start深入研究

docker start也是很简单的命令。但因为有了几个选项&#xff0c;又变得复杂&#xff0c;而且... 命令&#xff1a; docker container start 描述&#xff1a; 启动一个或多个已停止的容器。 用法&#xff1a; docker container start [OPTIONS] CONTAINER [CONTAINER...] 别名&…

ChatGPT: 人工智能对话的革命

介绍: 在人工智能领域&#xff0c;ChatGPT被视为创新的典范&#xff0c;重新定义了我们与技术交互的方式。从回答查询到生成创意内容&#xff0c;ChatGPT利用语言的力量促进了无缝沟通。在这篇全面指南中&#xff0c;我们深入探讨ChatGPT的复杂性&#xff0c;探索其功能、应用…

Tomcat PUT方法任意写文件漏洞(CVE-2017-12615)

1 漏洞原理 在Apache Tomcat服务器中&#xff0c;PUT方法通常用于上传文件。攻击者可以通过发送PUT请求&#xff0c;将恶意文件上传到服务器。 当攻击者发送PUT请求时&#xff0c;Tomcat服务器会将请求中的数据写入指定的文件。如果攻击者能够控制文件路径&#xff0c;那么他们…

van-cascader(vant2)异步加载的bug

问题描述&#xff1a;由于一次性返回所有的级联数据的话&#xff0c;数据量太大&#xff0c;接口响应时间太久&#xff0c;因此采用了异步加载的方案&#xff0c;看了vant的官方示例代码&#xff0c;照着改了下&#xff0c;很轻松地实现了功能。正当我感叹世界如此美好的时候&a…

http实现post请求时本地没问题,线上报413错误、nginx配置免费https、nginx反向代理

MENU 错误原因解决其他方式关于nginx的文章 错误原因 前端发送请求以后后端没有收到请求 而客户端却报了413错误 是请求实体过大的异常 如果请求夹带着文件就可能造成请求实体过大 那这里是什么原因造成的呢 在基础的后端开发中 都会用到nginx反向代理 默认大小为1M 超过1M都会…

公考学习|基于SprinBoot+vue的公考学习平台(源码+数据库+文档)

公考学习平台目录 目录 基于SprinBootvue的公考学习平台 一、前言 二、系统设计 三、系统功能设计 5.1用户信息管理 5.2 视频信息管理 5.3公告信息管理 5.4论坛信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&…