比较常见通用的 网关实现登录校验的实现需要考虑三个点:

  1. 网关如何在路由之前做登录校验?
  2. 网关如何将用户信息传递给微服务?
  3. 微服务之间如何传递用户信息?

网关路由登录校验逻辑图

网关过滤器

过滤器的执行流程

网关过滤器的执行流程图

网关过滤器有两种:

GatewayFilter:路由过滤器,作用范围灵活,作用于任意指定的路由。

GlobalFilter:全局过滤器,作用范围是所有路由。

两种过滤器的过滤方法签名是完全一致的,返回的都是

Mono<void> filter (ServerWebExchange exchange, gatewayFilterChain chain)

名称说明示例
AddRequestHeader给当前请求添加一个请求头AddrequestHeader=headerName,headerValue
RemoveRequestHeader移除请求中的一个请求头RemoveRequestHeader=headerName
AddResponseHeader给响应结果中添加一个响应头AddResponseHeader=headerName,headerValue
RemoveResponseHeader从响应结果中移除有一个响应头RemoveResponseHeader=headerName
RewritePath限制请求的流量RewritePath=/red/?(?.*),/${segment}
StripPrefix去除请求路径中的N段前缀StripPrefix=1,则路径/a/b转发时只保留/b
...
最后修改:2024 年 10 月 31 日
-