对于最新的稳定版本,请使用 Spring Security 6.4.1! |
Exploit Protection 迁移
5.8 迁移指南包含在更新到 6.0 时进行 Exploit Protection 迁移的几个步骤。 建议您先执行这些步骤。
以下步骤与如何完成 Exploit Protection 支持的迁移相关。
延迟加载 CsrfToken
在 Spring Security 5.8 中,默认的CsrfTokenRequestHandler
用于使CsrfToken
可供应用程序使用的是CsrfTokenRequestAttributeHandler
.
字段的默认值csrfRequestAttributeName
是null
,这会导致在每个请求上加载 CSRF 令牌。
在 Spring Security 6 中,csrfRequestAttributeName
默认为_csrf
.
如果您仅为了更新到 6.0 而配置了以下内容,则现在可以将其删除:
requestHandler.setCsrfRequestAttributeName("_csrf");
防止 CSRF BREACH
在 Spring Security 5.8 中,默认的CsrfTokenRequestHandler
用于使CsrfToken
可供应用程序使用的是CsrfTokenRequestAttributeHandler
.XorCsrfTokenRequestAttributeHandler
已添加以允许选择加入 CSRF BREACH 支持。
在 Spring Security 6 中,XorCsrfTokenRequestAttributeHandler
是默认值CsrfTokenRequestHandler
用于使CsrfToken
可用。
如果您配置了XorCsrfTokenRequestAttributeHandler
仅为了更新到 6.0,您可以将其完全删除。
如果您已将 |
支持 WebSocket 的 CSRF BREACH
在 Spring Security 5.8 中,默认的ChannelInterceptor
用于使CsrfToken
可用的 WebSocket 安全性是CsrfChannelInterceptor
.XorCsrfChannelInterceptor
已添加以允许选择加入 CSRF BREACH 支持。
在 Spring Security 6 中,XorCsrfChannelInterceptor
是默认值ChannelInterceptor
用于使CsrfToken
可用。
如果您配置了XorCsrfChannelInterceptor
仅为了更新到 6.0,您可以将其完全删除。