day02-Gateway(网关)

文章目录

Gateway网关

Gateway介绍



网关搭建



路由断言工厂



路由过滤器





全局过滤器(自定义过滤器)



java 复制代码
package cn.itcast.gateway;

// @Order(-1)
@Component
public class AuthorizeFilter implements GlobalFilter, Ordered {
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        // 1.获取请求参数
        ServerHttpRequest request = exchange.getRequest();
        MultiValueMap<String, String> params = request.getQueryParams();
        // 2.获取参数中的 authorization 参数
        String auth = params.getFirst("authorization");
        // 3.判断参数值是否等于 admin
        if ("admin".equals(auth)) {
            // 4.是,放行
            return chain.filter(exchange);
        }
        // 5.否,拦截
        // 5.1.设置状态码
        exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);
        // 5.2.拦截请求
        return exchange.getResponse().setComplete();
    }
    
    //越小优先级越高
    @Override
    public int getOrder() {
        return -1;
    }
}

过滤器执行顺序




跨域问题

CORS:浏览器问服务器可不可以跨域 服务器同意就可以跨域。

CORS请求方式是:options

'/\*\*' :代表拦截哪些请求 **是拦截一切请求

相关推荐
SelectDB1 分钟前
抖音集团 实时数据仓库:Apache Doris / SelectDB 的技术能力与实践
数据库
SelectDB9 分钟前
网易 日志与时序数据分析:Apache Doris / SelectDB 的技术能力与实践
数据库
weixin_5394467838 分钟前
Navicat Premium 17报缺少ODBC驱动
数据库
哦虎!1 小时前
【数据库】事务
java·数据库·mysql
倔强的石头_1 小时前
时序数据库的难题不只在写入速度
数据库
Titan20242 小时前
Linux网络基础知识
linux·服务器·网络·c++·学习
IT古董3 小时前
【WMS学习笔记系列】01-需求分析
大数据·数据库
zlinear数据采集卡3 小时前
数据采集卡从入门到精通(9):分辨率与精度——16位卡不等于1/65536的精度
开发语言·数据库·fpga开发·开源·c#
Titan20244 小时前
Linux网络学习:套接字、UDP的封装与应用
linux·服务器·开发语言·网络·c++