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

授权迁移

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

AuthorizationManager针对 Method Security

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

AuthorizationManager针对 Message Security

在 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"/>

那么 defaults 可能会被删除: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