首页 > 其他分享 >Gateway网关模块中设置全局过滤器

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

时间:2023-12-31 18:11:07浏览次数:28  
标签:网关 return exchange request response token 过滤器 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;
    }
}

 

标签:网关,return,exchange,request,response,token,过滤器,Gateway
From: https://www.cnblogs.com/zhuyankang/p/17937837

相关文章

  • Modbus转ethercat网关在农业中的应用主要体现
    Modbus转ethercat网关在农业中的应用主要体现在以下几个方面:数据采集和监控:Modbus转ethercat网关可以连接农业传感器和设备,如温湿度传感器、光照传感器、灌溉设备等,实现实时数据采集和监控。通过网关,这些设备可以与云平台或农业管理系统进行连接,实现远程监控和管理。 自动化控......
  • OJ判题测评系统--网关搭建、用户模块
    后端项目初始化跑通项目创建一个SpringCloud项目结构如下application.yml配置如下#公共配置文件#@authorcyr#spring:application:name:cyroj-user-serviceprofiles:active:devdatasource:driver-class-name:com.mysql.cj.jdbc.Driver......
  • TSINGSEE青犀智能分析网关V4视频智能分析在智慧幼儿园中的应用
    一、背景需求 在科技浪潮的推动下,智慧化监管已然成为幼儿园管理发展的必然趋势。通过引入尖端技术手段,智慧幼儿园监管解决方案不仅显著提升了管理效率,更为孩子们的安全与健康筑起一道坚实的屏障。为了全方位守护幼儿的平安,幼儿园应当构建一套智能化的安全监控系统。这个系统需......
  • 方案:智能分析网关V4区域人数超员AI算法模型的应用场景介绍
    视频AI智能分析技术已经深入到人类生活的各个角落,与社会发展的方方面面紧密相连。从日常生活中的各种场景,如人脸识别、车牌识别,到工业生产中的安全监控,如工厂园区的翻越围栏识别、入侵识别、工地的安全帽识别、车间流水线产品的品质缺陷AI检测等,AI智能分析都发挥着不可或缺的作用......
  • 方案:智能分析网关V4在高校实验室安全管理中的应用
    一、方案背景实验室作为科研与教学的核心场所,其重要性不言而喻。高校实验室由于其开放性与多样性,安全管理尤为重要。高校实验室的安全管理,不仅是保障科研与教学质量的基础,更是校园安全的重要组成部分。一旦发生安全事故,后果不堪设想。因此,加强高校实验室的安全管理工作,不仅是对校......
  • 智能分析网关V4+太阳能供电模式,搭建鱼塘养殖远程视频监控方案
    一、行业背景传统的鱼塘养殖模式由于养殖区域面积大、管理难度高,经常会出现偷钓者、盗窃鱼苗、非法入侵等监管难题,给养殖户带来了不小的经济损失。为了解决这些问题,搭建鱼塘远程监控系统成为了必要之举。通过远程监控系统,管理人员可以实时掌握鱼塘的各项数据和情况,及时发现并解决......
  • Gateway实现统一网关
    新建一个子项目,然后导入gateway依赖,同时也需要被nacos注册发现<!--nacos服务注册发现依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>......
  • Amazon API Gateway CORS 实战
    AmazonAPIGateway是构建和部署RESTfulAPI的托管服务,而跨域资源共享(CORS)是为了在Web应用中安全实现跨域数据传输而设计的标准。在本文中,我们将深入探讨如何在AmazonAPIGateway上实战配置CORS,确保安全地处理跨域请求。1.CORS概述1.1同源策略回顾同源策略是浏览器的安......
  • springcloud动力节点-06Admin监控 Or Gateway网关
    SpringCloudAdmin 监控端点新建工程:admin-serverpom中springcloud版本号和版本控制要添加<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan......
  • 如何借助边缘网关打造智慧配电房安全方案
    配电房是电力系统的重要组成部分,通常设置有各种高压配电装置和箱柜,是企业安全管理的重点。传统的人工巡检和监控总是难以避免疏漏,导致风险隐患的产生和扩大。 随着物联网、边缘计算、设备联动控制等技术的普及应用,佰马针对配电房的安全监测和管理,提供全套配电房安全监测保障解......