对于最新的稳定版本,请使用 Spring Security 6.4.1spring-doc.cn

Exploit Protection 迁移

5.8 迁移指南包含在更新到 6.0 时进行 Exploit Protection 迁移的几个步骤。 建议您先执行这些步骤。spring-doc.cn

以下步骤与如何完成 Exploit Protection 支持的迁移相关。spring-doc.cn

延迟加载 CsrfToken

在 Spring Security 5.8 中,使 对应用程序可用的默认值是 。 该字段的默认值是 ,这会导致在每个请求上加载 CSRF 令牌。CsrfTokenRequestHandlerCsrfTokenCsrfTokenRequestAttributeHandlercsrfRequestAttributeNamenullspring-doc.cn

在 Spring Security 6 中,默认为 。 如果您仅为了更新到 6.0 而配置了以下内容,则现在可以将其删除:csrfRequestAttributeName_csrfspring-doc.cn

requestHandler.setCsrfRequestAttributeName("_csrf");

防止 CSRF BREACH

在 Spring Security 5.8 中,使 对应用程序可用的默认值是 。 已添加以允许选择加入 CSRF BREACH 支持。CsrfTokenRequestHandlerCsrfTokenCsrfTokenRequestAttributeHandlerXorCsrfTokenRequestAttributeHandlerspring-doc.cn

在 Spring Security 6 中,是使 可用. 如果您仅出于更新到 6.0 的目的配置了 ,则可以将其完全删除。XorCsrfTokenRequestAttributeHandlerCsrfTokenRequestHandlerCsrfTokenXorCsrfTokenRequestAttributeHandlerspring-doc.cn

如果您已将 to 设置为以选择退出延迟令牌,或者如果您出于任何其他原因配置了 ,则可以保留配置。csrfRequestAttributeNamenullCsrfTokenRequestHandlerspring-doc.cn

支持 WebSocket 的 CSRF BREACH

在 Spring Security 5.8 中,使 WebSocket Security 可用的默认值是。 已添加以允许选择加入 CSRF BREACH 支持。ChannelInterceptorCsrfTokenCsrfChannelInterceptorXorCsrfChannelInterceptorspring-doc.cn

在 Spring Security 6 中,是使 可用. 如果您仅出于更新到 6.0 的目的配置了 ,则可以将其完全删除。XorCsrfChannelInterceptorChannelInterceptorCsrfTokenXorCsrfChannelInterceptorspring-doc.cn