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

授权迁移

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

用于方法安全性AuthorizationManager

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

用于消息安全性AuthorizationManager

在 6.0 中,默认为 . 因此,要完成迁移,请删除任何属性。<websocket-message-broker>use-authorization-managertruewebsocket-message-broker@use-authorization-manager=truespring-doc.cn

例如:spring-doc.cn

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

更改为:spring-doc.cn

<websocket-message-broker/>

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

用于请求安全性AuthorizationManager

在 6.0 中,默认为 、 到 和 到 。 此外,authorizeRequests#filterSecurityInterceptorOncePerRequest 默认为 ,authorizeHttpRequests#filterAllDispatcherTypes 默认为 。 因此,要完成迁移,可以删除任何默认值。<http>once-per-requestfalsefilter-all-dispatcher-typestrueuse-authorization-managertruefalsetruespring-doc.cn

例如,如果您为 6.0 选择使用 6.0 默认值或类似版本:filter-all-dispatcher-typesauthorizeHttpRequests#filterAllDispatcherTypesspring-doc.cn

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

那么 defaults 可能会被删除:spring-doc.cn

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

once-per-request仅在以下情况下适用且仅在以下情况下适用use-authorization-manager="false"filter-all-dispatcher-typesuse-authorization-manager="true"spring-doc.cn