【发布时间】:2022-01-31 17:46:43
【问题描述】:
我在 WebFilterChain 中有下一个 CSRF 代码:
.csrfTokenRepository(CookieServerCsrfTokenRepository.withHttpOnlyFalse())
.requireCsrfProtectionMatcher(getURLsForDisabledCSRF())
我想为几个 URL 关闭对 POST 方法的 CSRF 检查。我找到了 NegatedServerWebExchangeMatcher,它允许执行下一步:
return new NegatedServerWebExchangeMatcher(ServerWebExchangeMatchers.pathMatchers(
HttpMethod.POST, "/services/service1/api/some-post-endpoint1",
"/services/service1/api/some-post-endpoint2");
所以总的来说这段代码是有效的,但是当我尝试获取请求登录页面或域页面时,我会得到“无效的 CSRF”或“找不到预期的 CSRF”。同样在 Spa 尝试将我重定向到 index.html 后,此 GET 重定向请求上将出现 403,表示:Invalid CSRF or no CSRF present.
【问题讨论】:
标签: spring spring-security microservices csrf webflux