gpt4 book ai didi

spring - 在Spring Cloud Gateway中禁止未经身份验证的请求

转载 作者:行者123 更新时间:2023-12-03 15:44:56 25 4
gpt4 key购买 nike

我已经在Spring Cloud Gateway中实现了自定义的预过滤器,该过滤器允许经过身份验证的请求通过下游流程。我想要的是如果请求未经身份验证,则返回401 UNAUTHORIZE状态的响应并停止下游处理。我可以实现这个 Spring Cloud 网关吗?

请帮忙。

我的过滤器代码如下

public class ValidUserFilter implements GatewayFilterFactory {

@Override
public GatewayFilter apply(Object config) {
return (exchange, chain) -> {
ServerHttpRequest request = exchange.getRequest();

if (isValidRequest(request)) {
// Allow processing
} else {
// set UNAUTHORIZED 401 response and stop the processing
}

return chain.filter(exchange);
};
}
}

和配置如下:
  - id: myroute
uri: http://localhost:8080/bar
predicates:
- Path=/foo/**
filters:
- ValidUserFilter

最佳答案

查看 SetStatusGatewayFilterFactory 中的代码

// set UNAUTHORIZED 401 response and stop the processing
exchange.getResponse().setStatusCode(HttpStatus.UNAUTHORIZED);
return exchange.getResponse().setComplete();

关于spring - 在Spring Cloud Gateway中禁止未经身份验证的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53853345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com