我正在尝试在简单的 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(使用前将#替换为@)