pho*_*360 25 gateway spring-boot microservices spring-cloud netflix-zuul
背景
我想实现本文中介绍的设计.
到目前为止我有什么
我完成了大部分工作:
我还编写了一个Zuul PRE过滤器,用于检查访问令牌,联系IDP并创建JWT.然后将JWT添加到转发到下游服务的请求的标头中.
问题
现在我的问题非常具体针对Zuul及其过滤器.如果由于任何原因在API网关中验证失败,我怎样才能停止路由并直接用401响应而不继续过滤链并转发呼叫?
如果验证失败,过滤器将不会将JWT添加到标头,401将来自下游服务.我希望我的网关可以阻止这种不必要的通话.
我试着看看我怎么com.netflix.zuul.context.RequestContext用来做这个,但文档很差,我找不到办法.
mbr*_*g02 11
您可以尝试setSendZuulResponse(false)在当前上下文中进行设置.这不应该路由请求.您也可以removeRouteHost()从上下文调用,这将实现相同的目标.您可以使用setResponseStatusCode设置401状态代码.
小智 5
在运行方法中添加以下内容,它将解决此问题
ctx.setSendZuulResponse(false);
ctx.setResponseStatusCode(401);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21544 次 |
| 最近记录: |