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

漏洞利用保护迁移

5.8 迁移指南包含更新到 6.0 时进行漏洞利用防护迁移的几个步骤。 我们鼓励您先执行这些步骤。spring-doc.cadn.net.cn

以下步骤与如何完成迁移漏洞利用保护支持有关。spring-doc.cadn.net.cn

延迟加载 CsrfToken

在 Spring Security 5.8 中,默认的CsrfTokenRequestHandler用于制作CsrfToken应用程序可用的是CsrfTokenRequestAttributeHandler. 字段的默认值csrfRequestAttributeNamenull,这会导致在每个请求上加载 CSRF Tokens。spring-doc.cadn.net.cn

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

requestHandler.setCsrfRequestAttributeName("_csrf");

防止 CSRF BREACH

在 Spring Security 5.8 中,默认的CsrfTokenRequestHandler用于制作CsrfToken应用程序可用的是CsrfTokenRequestAttributeHandler.XorCsrfTokenRequestAttributeHandler添加了以允许选择加入 CSRF BREACH 支持。spring-doc.cadn.net.cn

在 Spring Security 6 中,XorCsrfTokenRequestAttributeHandler是默认值CsrfTokenRequestHandler用于制作CsrfToken可用。 如果您配置了XorCsrfTokenRequestAttributeHandler仅出于更新到 6.0 的目的,您可以将其完全删除。spring-doc.cadn.net.cn

如果您已将csrfRequestAttributeNamenull为了选择退出延迟Tokens,或者如果您已配置CsrfTokenRequestHandler出于任何其他原因,您可以保留配置。spring-doc.cadn.net.cn

支持 WebSocket 的 CSRF BREACH

在 Spring Security 5.8 中,默认的ChannelInterceptor用于制作CsrfTokenWebSocket Security 一起使用是CsrfChannelInterceptor.XorCsrfChannelInterceptor添加了以允许选择加入 CSRF BREACH 支持。spring-doc.cadn.net.cn

在 Spring Security 6 中,XorCsrfChannelInterceptor是默认值ChannelInterceptor用于制作CsrfToken可用。 如果您配置了XorCsrfChannelInterceptor仅出于更新到 6.0 的目的,您可以将其完全删除。spring-doc.cadn.net.cn