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

授权迁移

以下步骤与如何完成授权支持的迁移有关。spring-doc.cadn.net.cn

AuthorizationManager用于方法安全性

此功能没有进一步的迁移步骤。spring-doc.cadn.net.cn

AuthorizationManager用于消息安全

在 6.0 中,<websocket-message-broker>默认值use-authorization-managertrue. 因此,要完成迁移,请删除任何websocket-message-broker@use-authorization-manager=true属性。spring-doc.cadn.net.cn

<websocket-message-broker use-authorization-manager="true"/>
<websocket-message-broker/>

对于此功能,没有进一步的 Java 或 Kotlin 迁移步骤。spring-doc.cadn.net.cn

AuthorizationManager用于请求安全性

在 6.0 中,<http>默认值once-per-requestfalse,filter-all-dispatcher-typestrueuse-authorization-managertrue. 也authorizeRequests#filterSecurityInterceptorOncePerRequest默认为falseauthorizeHttpRequests#filterAllDispatcherTypes默认为true. 因此,要完成迁移,可以删除任何默认值。spring-doc.cadn.net.cn

例如,如果您选择启用 6.0 默认值filter-all-dispatcher-typesauthorizeHttpRequests#filterAllDispatcherTypes这样:spring-doc.cadn.net.cn

http
    .authorizeHttpRequests((authorize) -> authorize
        .filterAllDispatcherTypes(true)
        // ...
    )
http {
	authorizeHttpRequests {
		filterAllDispatcherTypes = true
        // ...
	}
}
<http use-authorization-manager="true" filter-all-dispatcher-types="true"/>

然后可以删除默认值:spring-doc.cadn.net.cn

http
    .authorizeHttpRequests((authorize) -> authorize
        // ...
    )
http {
	authorizeHttpRequests {
		// ...
	}
}
<http/>

once-per-request仅适用于以下情况use-authorization-manager="false"filter-all-dispatcher-types仅适用于以下情况use-authorization-manager="true"spring-doc.cadn.net.cn