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

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

相关推荐
渣渣灰飞12 小时前
MySQL 系统学习 第四阶段:MySQL 高级 第一节:索引(Index)
数据库·学习·mysql
山峰哥13 小时前
数据库工程与SQL优化实战指南‌
数据库·sql·oracle·深度优先·宽度优先
网络小白不怕黑13 小时前
监控httpd状态
服务器
豆瓣鸡13 小时前
网关、服务 userId 透传
java·微服务·gateway
Quincy_Freak13 小时前
Python 轻量化数据存储实践:国产化环境下SQLite高效管理方案
数据库·sqlite·数据库管理·大数据分析·sqlitego
SelectDB技术团队14 小时前
Agent 场景动态 JSON 性能拆解:Apache Doris 比 ClickHouse 快 7 倍、比 Elasticsearch 快 2 倍
数据库·clickhouse·elasticsearch·json·apache·日志分析·apache doris
greasyfork14 小时前
多种数据库管理混乱?Navicat Premium 17 for Mac 统一解决
数据库·mysql·macos·mac
日取其半万世不竭14 小时前
云服务器迁移怎么少停机?DNS 切换前后的完整清单
运维·服务器
Dream_fly_iboy15 小时前
系统架构设计师之数据库
数据库
风和先行15 小时前
Android 数据库相关学习总结
android·数据库·学习