gateway全局token过滤器

ops/2024/10/20 14:49:28/

添加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/ops/23950.html

相关文章

关于discuz论坛网址优化的一些记录(伪静态)

最近网站刚上线&#xff0c;针对SEO做了些操作&#xff0c;为了方便网站网页被收录&#xff0c;特此记录下 1.开启伪静态 按照操作勾选所有项&#xff0c;然后点击查看伪静态规则 2.打开宝塔&#xff0c;找到左侧列表的网站&#xff0c;然后找到相应站点的设置。把discuz自动…

iOS AVPlayer

参考文章 AVPlayer的基本使用

【Qt】无法创建或打开CMake项目

无法创建或打开CMake项目 没有CMake选项 原因 卸载重装了qt&#xff0c;安装时勾选了cmake&#xff0c;发现还是一样没有。。。 后面发现是插件里没有勾选上CMake。。。很无语 不是应该默认就有的吗 不懂了 解决 插件勾选重启就好了

设计模式- 迭代器模式(Iterator Pattern)结构|原理|优缺点|场景|示例

设计模式&#xff08;分类&#xff09; 设计模式&#xff08;六大原则&#xff09; 创建型&#xff08;5种&#xff09; 工厂方法 抽象工厂模式 单例模式 建造者模式 原型模式 结构型&#xff08;7种&#xff09; 适配器…

Linux的FTP服务

目录 1.什么是FTP服务&#xff1f; 2.FTP的工作原理和流程 1 主动模式 2 被动模式 3.搭建和配置FTP服务 1 下载服务包、备份配置文件 2 修改配置文件​编辑 3 匿名访问测试 4 设置黑白命令 1.什么是FTP服务&#xff1f; FTP&#xff08;file Transfer Protocol&#…

【大数据】分布式数据库HBase

目录 1.概述 1.1.前言 1.2.数据模型 1.3.列式存储的优势 2.实现原理 2.1.region 2.2.LSM树 2.3.完整读写过程 2.4.master的作用 1.概述 1.1.前言 本文式作者大数据系列专栏中的一篇文章&#xff0c;按照专栏来阅读&#xff0c;循序渐进能更好的理解&#xff0c;专栏…

typora中如何使用cos存储

上传工具 https://toolinbox.net/iPic/ 腾讯云的cos存储 https://console.cloud.tencent.com/cos/bucket?actioncreate cos防盗指引 对象存储 防盗刷指引-最佳实践-文档中心-腾讯云 cos计费规则 对象存储 流量费用-购买指南-文档中心-腾讯云 其他方法可以参考 Typora等mar…

【每日刷题】Day28

【每日刷题】Day28 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; ​ 1. 121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09; 2. 205. 同构字符串 - 力扣…