我正在使用Spring Cloud Gateway 2.1.0.M1(和Spring Security 5.1.0.RC2)。
问题是:如何实现GlobalFilter
(对于POST请求,要在调用后端之前执行),该方法读取请求正文和标头,并据此决定执行以下操作之一:
我尚不清楚如何正确获取完整的请求正文,然后再获取return chain.filter(...)
或exchange.getResponse.setStatusCode(401)
和return exchange.getResponse().setComplete()
。
对于更高级别的上下文,目标是验证分离的JWS 签名,其中请求正文为 payload 和分离的签名位于标题之一中。如果签名有效,则网关应将请求继续传递。否则它将失败。
除了实现Spring Cloud Gateway过滤器之外,我对解决方案也很满意。