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

反应性的

如果您已经为 Reactive 应用程序执行了初始迁移步骤,那么现在可以执行特定于 Reactive 应用程序的步骤了。spring-doc.cadn.net.cn

AuthorizationManager针对 Method Security

在 6.0 中,@EnableReactiveMethodSecurity违约useAuthorizationManagertrue. 因此,要完成迁移,@EnableReactiveMethodSecurity删除useAuthorizationManager属性:spring-doc.cadn.net.cn

@EnableReactiveMethodSecurity(useAuthorizationManager = true)
@EnableReactiveMethodSecurity(useAuthorizationManager = true)
@EnableReactiveMethodSecurity
@EnableReactiveMethodSecurity

传播AuthenticationServiceExceptions

AuthenticationWebFilter传播AuthenticationServiceExceptions 到ServerAuthenticationEntryPoint. 因为AuthenticationServiceException表示服务器端错误而不是客户端错误,在 6.0 中,此更改会将它们传播到容器。spring-doc.cadn.net.cn

因此,如果您通过设置rethrowAuthenticationServiceExceptiontrue,您现在可以像这样删除它:spring-doc.cadn.net.cn

AuthenticationFailureHandler bearerFailureHandler = new ServerAuthenticationEntryPointFailureHandler(bearerEntryPoint);
bearerFailureHandler.setRethrowAuthenticationServiceException(true);
AuthenticationFailureHandler basicFailureHandler = new ServerAuthenticationEntryPointFailureHandler(basicEntryPoint);
basicFailureHandler.setRethrowAuthenticationServiceException(true);
val bearerFailureHandler: AuthenticationFailureHandler = ServerAuthenticationEntryPointFailureHandler(bearerEntryPoint)
bearerFailureHandler.setRethrowAuthenticationServiceException(true)
val basicFailureHandler: AuthenticationFailureHandler = ServerAuthenticationEntryPointFailureHandler(basicEntryPoint)
basicFailureHandler.setRethrowAuthenticationServiceException(true)
AuthenticationFailureHandler bearerFailureHandler = new ServerAuthenticationEntryPointFailureHandler(bearerEntryPoint);
AuthenticationFailureHandler basicFailureHandler = new ServerAuthenticationEntryPointFailureHandler(basicEntryPoint);
val bearerFailureHandler: AuthenticationFailureHandler = ServerAuthenticationEntryPointFailureHandler(bearerEntryPoint)
val basicFailureHandler: AuthenticationFailureHandler = ServerAuthenticationEntryPointFailureHandler(basicEntryPoint)

如果您配置了ServerAuthenticationFailureHandler仅为了更新到 6.0,您可以将其完全删除。spring-doc.cadn.net.cn