1.网关功能
springCloud中网管有两种
- gateway
- zuul
2.编写路由配置及nacos地址
路由断言工厂
过滤器工厂
全局过滤器![image-20240308205421176]()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//@Order()
@Component
public class AuthorizeFilter implements GlobalFilter, Ordered {
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
//1.获取请求参数
ServerHttpRequest request = exchange.getRequest();
//2.获取参数中的 authorization参数
MultiValueMap<String, String> params = request.getQueryParams();
//3.判断参数值是否等于admin
if ("admin".equals(params.getFirst("authorization"))){
//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:浏览器询问服务器,是否允许跨域,服务器会指定一些列配置,默认浏览器询问服务器发起的是option请求,但是gateway网关模式是禁止option访问的,所以要配置允许option

















