GateWay网关自定义过滤器实现token校验完成统一鉴权

这篇具有很好参考价值的文章主要介绍了GateWay网关自定义过滤器实现token校验完成统一鉴权。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、基础知识

gateWay---API网关,也可以称为业务网关,主要服务于微服务的;

(1)  三大组件

  • 路由(Route)

        构建网关的基本模块,由id(唯一标示)、目标URI、一组断言、一组过滤器组成,如果断言为true,则匹配该路由

  •   断言(Predicate)

         可以使用它匹配来自HTTP请求的任何内容,例如headers或参数

  • 多滤器(Filter)

        Gate中的Filter分为两种类型,Gateway Filter和Global Filter;过滤器Filter将会对请求和响应进行修改处理

(2)运行流程

GateWay网关自定义过滤器实现token校验完成统一鉴权

 文章来源地址https://www.toymoban.com/news/detail-478479.html

(3) 搭建网关服务

  • 引入网关依赖和nacos服务发现依赖
<!--网关依赖-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

<!--nacos 服务发现依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2.2.5.RELEASE</version>
</dependency>
  • 编写路由配置和nacos地址
cloud:
    gateway:
      globalcors: #全局的跨域处理
        add-to-simple-url-handler-mapping: true #解决optoins请求被拦截的问题
        corsConfigurations:
          '[/**]':
            #允许在请求中携带的头信息
            allowedHeaders: "*"
            #允许哪些网站跨域
            allowedOrigins: "*"
            allowed-methods: #允许跨域请求的方式
              - GET
              - POST
              - DELETE
              - PUT
              - OPTION
      routes: #网关路由配置
        #探花系统
        - id: tanhua-app-server
          uri: lb://tanhua-app-server #路由的目标地址,lb是负载均衡:服务名称
          predicates: #路由断言,判断请求是否符合路由的规则
            - Path=/app/**
          filters: #过滤器
            - StripPrefix= 1 #去掉url部分前缀
        #后台系统
        - id: tanhua-admin
          uri: lb://tanhua-admin
          predicates:
            - Path=/admin/**
          filters:
            - StripPrefix= 1

三、实现步骤

(1)自定义过滤器

        需要实现两个接口(GlobaFilter、Ordered);重写两个方法filter( )---负责鉴权的业务逻辑,getOrdered()---设置过滤器执行的顺序

GateWay网关自定义过滤器实现token校验完成统一鉴权 

(2)在过滤器的filter方法中完成鉴权的业务逻辑

        1.对与特殊的接口,不进行校验,直接放行

        2.获取请求信息中的Token

        3.对Token进行校验,无效的进行拦截返回提示信息到前台,有效的放行

GateWay网关自定义过滤器实现token校验完成统一鉴权

 

到了这里,关于GateWay网关自定义过滤器实现token校验完成统一鉴权的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 178 服务网关GateWay---局部过滤器(GatewayFilter)

    在微服务架构下,后端微服务可能都需要做一些重复相同的事情,如:认证鉴权、限流、黑白名单、日志收集等。对于这些需求当有了网关之后,就可以统一的在网关中实现即可,避免代码冗余。 ​ 要实现这些功能,则需要通过网关的过滤器进行实现。网关的过滤器类型分

    2024年02月21日
    浏览(40)
  • Gateway自定义过滤器——全局过滤器

    首先,我们要知道全局过滤器其实是特殊路由过滤器(特殊的GatewayFilter),会有条件地作用于所有路由。 为什么要自定义全局过滤器?就好比是看大门的保安大叔,平时主要是做好进出大门外来人员登记即可,但是因为新冠疫情,现在还需要给外来人员测量体温等等。而已有的

    2024年02月16日
    浏览(34)
  • 网关 GateWay 的使用详解、路由、过滤器、跨域配置!

    SpringCloudGateway网关是所有微服务的统一入口。 1.1 它的主要作用是: 反向代理(请求的转发) 路由和负载均衡 身份认证和权限控制 对请求限流 1.2 相比于Zuul的优势: SpringCloudGateway基于Spring5中提供的WebFlux,是一种响应式编程的实现,性能更加优越。 Zuul的实现方式比较老式

    2024年02月07日
    浏览(38)
  • 网关 GateWay 的使用详解、路由、过滤器、跨域配置

    SpringCloudGateway网关是所有微服务的统一入口。 1.1 它的主要作用是: 反向代理(请求的转发) 路由和负载均衡 身份认证和权限控制 对请求限流 1.2 相比于Zuul的优势: SpringCloudGateway基于Spring5中提供的WebFlux,是一种响应式编程的实现,性能更加优越。 Zuul的实现方式比较老式

    2024年02月14日
    浏览(37)
  • JAVA开发(通过网关gateway过滤器进行返回结果加密)

    在对C的网站或者APP后端接口中,参数的传输往往需要加密传输。这时我们 可以通过springcloud的网关过滤器进行统一的控制。 网关过滤器的执行顺序: 请求进入网关会碰到三类过滤器:当前路由过滤器、DefaultFilter、GlobalFilter。 请求路由后,会将当前路由过滤器和DefaultFilter、

    2023年04月17日
    浏览(41)
  • 【Spring Cloud】深入探索统一网关 Gateway 的搭建,断言工厂,过滤器工厂,全局过滤器以及跨域问题

    在微服务架构中,网关是至关重要的组件,具有多重职责,为整个系统提供了一系列关键功能。从下面的微服务结构图中,我们可以明确网关的几项主要作用: 微服务结构图: 请求过滤与安全: 用户的所有请求首先经过网关,这使得网关成为系统的第一道防线。通过对传入

    2024年02月07日
    浏览(42)
  • SpringCloud GateWay 在全局过滤器中注入OpenFeign网关后无法启动

    目录 一、问题 二、原因 1、修改配置 2、添加@Lazy注解在client上面  3、启动成功 当在gateway的全局过滤器GlobalFilter中注入OpenFeign接口的时候会一直卡在路由中,但是不会进一步,导致启动未成功也未报错失败 在gateway网关中不能使用openfeign同步调用 三、解决方法 在注入的Aut

    2024年01月19日
    浏览(33)
  • SpringCloud - Spring Cloud 之 Gateway网关,Route路由,Predicate 谓词/断言,Filter 过滤器(十三)

    阅读本文前可先参考 ​​​​​​SpringCloud - Spring Cloud根/父项目,开发准备(二)_MinggeQingchun的博客-CSDN博客 SpringCloud - Spring Cloud 之 Gateway网关(十三)_MinggeQingchun的博客-CSDN博客 Web 有三大组件(监听器 过滤器 servlet),Spring Cloud GateWay 最主要的功能就是路由转发,而在定义

    2024年02月14日
    浏览(55)
  • Spring-Cloud-Gateway如何自定义路由过滤器?

    遇到这么一个面试题:自定义网关过滤器实现把url中的请求参数放到http的header中传递给微服务。 我们知道网关的一个重要的作用就是路由转发,路由表的配置大概是这个样子: 其中的filters就是配置的路由过滤器,Spring已经内置了31个路由的过滤器,这些过滤器都是 org.spring

    2024年02月16日
    浏览(32)
  • SpringCloud GateWay自定义过滤器之GatewayFilter和AbstractGatewayFactory

    GatewayFilter 是一个简单的接口,用于定义网关过滤器的行为。一个网关过滤器就是一个实现了 GatewayFilter 接口的类,它可以执行在请求进入网关或响应离开网关时的某些操作。过滤器可以用于修改请求或响应,记录日志,添加头部信息,等等。 一个简单的自定义网关过滤器

    2024年02月01日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包