用于拒绝请求的 NetflixOSS Zuul 过滤器

2024-03-19

我正在尝试在简单的 spring-cloud-Netflix Api 网关(反向代理)中使用 ZuulFilter,以便对自定义身份验证提供程序进行请求身份验证(通过 Rest 调用)。

过滤器应使用 401 拒绝未经授权的请求,并且不要将这些请求进一步传递到代理服务。

这对于 ZuulFilter 来说可能吗?我在 Zuuls api 中没有找到文档、示例或其他内容。

有什么建议么?


我让它工作起来,进行了一些挖掘。确保您的请求尚未缓存。只需从 ZuulFilter 内的 run() 方法调用此方法即可。

/**
 * Reports an error message given a response body and code.
 * 
 * @param body
 * @param code
 */
private void setFailedRequest(String body, int code) {
    log.debug("Reporting error ({}): {}", code, body);
    RequestContext ctx = RequestContext.getCurrentContext();
    ctx.setResponseStatusCode(code);
    if (ctx.getResponseBody() == null) {
        ctx.setResponseBody(body);
        ctx.setSendZuulResponse(false);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于拒绝请求的 NetflixOSS Zuul 过滤器 的相关文章

随机推荐