From d8043dc8a771e28cee24f1ce566734e787c719b4 Mon Sep 17 00:00:00 2001 From: Tran Ngoc Nhan Date: Fri, 20 Jun 2025 00:41:59 +0700 Subject: [PATCH] Remove PrePostTemplateDefaults Closes gh-17296 Signed-off-by: Tran Ngoc Nhan --- .../PrePostMethodSecurityConfiguration.java | 11 +--- ...ionManagerMethodSecurityConfiguration.java | 9 --- ...ePostMethodSecurityConfigurationTests.java | 45 +++----------- ...ctiveMethodSecurityConfigurationTests.java | 33 +++-------- .../AbstractExpressionAttributeRegistry.java | 9 +-- .../PostAuthorizeAuthorizationManager.java | 15 ----- ...AuthorizeReactiveAuthorizationManager.java | 15 ----- ...tFilterAuthorizationMethodInterceptor.java | 16 +---- ...uthorizationReactiveMethodInterceptor.java | 17 +----- .../PreAuthorizeAuthorizationManager.java | 15 ----- ...AuthorizeReactiveAuthorizationManager.java | 15 ----- ...eFilterAuthorizationMethodInterceptor.java | 17 +----- ...uthorizationReactiveMethodInterceptor.java | 17 +----- .../method/PrePostTemplateDefaults.java | 58 ------------------- 14 files changed, 22 insertions(+), 270 deletions(-) delete mode 100644 core/src/main/java/org/springframework/security/authorization/method/PrePostTemplateDefaults.java diff --git a/config/src/main/java/org/springframework/security/config/annotation/method/configuration/PrePostMethodSecurityConfiguration.java b/config/src/main/java/org/springframework/security/config/annotation/method/configuration/PrePostMethodSecurityConfiguration.java index a1a47e3c54..90b8c247b9 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/method/configuration/PrePostMethodSecurityConfiguration.java +++ b/config/src/main/java/org/springframework/security/config/annotation/method/configuration/PrePostMethodSecurityConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -46,7 +46,6 @@ import org.springframework.security.authorization.method.PostAuthorizeAuthorizat import org.springframework.security.authorization.method.PostFilterAuthorizationMethodInterceptor; import org.springframework.security.authorization.method.PreAuthorizeAuthorizationManager; import org.springframework.security.authorization.method.PreFilterAuthorizationMethodInterceptor; -import org.springframework.security.authorization.method.PrePostTemplateDefaults; import org.springframework.security.config.ObjectPostProcessor; import org.springframework.security.config.core.GrantedAuthorityDefaults; import org.springframework.security.core.annotation.AnnotationTemplateExpressionDefaults; @@ -130,14 +129,6 @@ final class PrePostMethodSecurityConfiguration implements ImportAware, Applicati this.postFilterMethodInterceptor.setTemplateDefaults(templateDefaults); } - @Autowired(required = false) - void setTemplateDefaults(PrePostTemplateDefaults templateDefaults) { - this.preFilterMethodInterceptor.setTemplateDefaults(templateDefaults); - this.preAuthorizeAuthorizationManager.setTemplateDefaults(templateDefaults); - this.postAuthorizeAuthorizationManager.setTemplateDefaults(templateDefaults); - this.postFilterMethodInterceptor.setTemplateDefaults(templateDefaults); - } - @Autowired(required = false) void setExpressionHandler(MethodSecurityExpressionHandler expressionHandler) { this.preFilterMethodInterceptor.setExpressionHandler(expressionHandler); diff --git a/config/src/main/java/org/springframework/security/config/annotation/method/configuration/ReactiveAuthorizationManagerMethodSecurityConfiguration.java b/config/src/main/java/org/springframework/security/config/annotation/method/configuration/ReactiveAuthorizationManagerMethodSecurityConfiguration.java index 9ee76c3333..6b7b4c0be7 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/method/configuration/ReactiveAuthorizationManagerMethodSecurityConfiguration.java +++ b/config/src/main/java/org/springframework/security/config/annotation/method/configuration/ReactiveAuthorizationManagerMethodSecurityConfiguration.java @@ -42,7 +42,6 @@ import org.springframework.security.authorization.method.PostAuthorizeReactiveAu import org.springframework.security.authorization.method.PostFilterAuthorizationReactiveMethodInterceptor; import org.springframework.security.authorization.method.PreAuthorizeReactiveAuthorizationManager; import org.springframework.security.authorization.method.PreFilterAuthorizationReactiveMethodInterceptor; -import org.springframework.security.authorization.method.PrePostTemplateDefaults; import org.springframework.security.config.ObjectPostProcessor; import org.springframework.security.config.core.GrantedAuthorityDefaults; import org.springframework.security.core.annotation.AnnotationTemplateExpressionDefaults; @@ -112,14 +111,6 @@ final class ReactiveAuthorizationManagerMethodSecurityConfiguration this.postAuthorizeAuthorizationManager.setApplicationContext(context); } - @Autowired(required = false) - void setTemplateDefaults(PrePostTemplateDefaults templateDefaults) { - this.preFilterMethodInterceptor.setTemplateDefaults(templateDefaults); - this.preAuthorizeAuthorizationManager.setTemplateDefaults(templateDefaults); - this.postAuthorizeAuthorizationManager.setTemplateDefaults(templateDefaults); - this.postFilterMethodInterceptor.setTemplateDefaults(templateDefaults); - } - @Autowired(required = false) void setTemplateDefaults(AnnotationTemplateExpressionDefaults templateDefaults) { this.preFilterMethodInterceptor.setTemplateDefaults(templateDefaults); diff --git a/config/src/test/java/org/springframework/security/config/annotation/method/configuration/PrePostMethodSecurityConfigurationTests.java b/config/src/test/java/org/springframework/security/config/annotation/method/configuration/PrePostMethodSecurityConfigurationTests.java index feb1141c69..e468e54f76 100644 --- a/config/src/test/java/org/springframework/security/config/annotation/method/configuration/PrePostMethodSecurityConfigurationTests.java +++ b/config/src/test/java/org/springframework/security/config/annotation/method/configuration/PrePostMethodSecurityConfigurationTests.java @@ -103,7 +103,6 @@ import org.springframework.security.authorization.method.AuthorizationManagerBef import org.springframework.security.authorization.method.AuthorizeReturnObject; import org.springframework.security.authorization.method.MethodAuthorizationDeniedHandler; import org.springframework.security.authorization.method.MethodInvocationResult; -import org.springframework.security.authorization.method.PrePostTemplateDefaults; import org.springframework.security.config.annotation.SecurityContextChangedListenerConfig; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.core.GrantedAuthorityDefaults; @@ -665,7 +664,7 @@ public class PrePostMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser public void methodeWhenParameterizedPreAuthorizeMetaAnnotationThenPasses(Class config) { this.spring.register(config).autowire(); @@ -674,7 +673,7 @@ public class PrePostMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser public void methodRoleWhenPreAuthorizeMetaAnnotationHardcodedParameterThenPasses(Class config) { this.spring.register(config).autowire(); @@ -683,7 +682,7 @@ public class PrePostMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) public void methodWhenParameterizedAnnotationThenFails(Class config) { this.spring.register(config).autowire(); MetaAnnotationService service = this.spring.getContext().getBean(MetaAnnotationService.class); @@ -692,7 +691,7 @@ public class PrePostMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser(authorities = "SCOPE_message:read") public void methodWhenMultiplePlaceholdersHasAuthorityThenPasses(Class config) { this.spring.register(config).autowire(); @@ -701,7 +700,7 @@ public class PrePostMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser(roles = "ADMIN") public void methodWhenMultiplePlaceholdersHasRoleThenPasses(Class config) { this.spring.register(config).autowire(); @@ -710,7 +709,7 @@ public class PrePostMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser public void methodWhenPostAuthorizeMetaAnnotationThenAuthorizes(Class config) { this.spring.register(config).autowire(); @@ -721,7 +720,7 @@ public class PrePostMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser public void methodWhenPreFilterMetaAnnotationThenFilters(Class config) { this.spring.register(config).autowire(); @@ -731,7 +730,7 @@ public class PrePostMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser public void methodWhenPostFilterMetaAnnotationThenFilters(Class config) { this.spring.register(config).autowire(); @@ -993,18 +992,6 @@ public class PrePostMethodSecurityConfigurationTests { assertThat(result).isEqualTo("classmask"); } - @Test - @WithMockUser - void postAuthorizeWhenNullDeniedMetaAnnotationThanWorks() { - this.spring - .register(MethodSecurityServiceEnabledConfig.class, LegacyMetaAnnotationPlaceholderConfig.class, - MethodSecurityService.NullPostProcessor.class) - .autowire(); - MethodSecurityService service = this.spring.getContext().getBean(MethodSecurityService.class); - String result = service.postAuthorizeDeniedWithNullDenied(); - assertThat(result).isNull(); - } - @Test @WithMockUser void postAuthorizeWhenDeniedAndHandlerWithCustomAnnotationThenHandlerCanUseMaskFromOtherAnnotation() { @@ -1687,22 +1674,6 @@ public class PrePostMethodSecurityConfigurationTests { } - @Configuration - @EnableMethodSecurity - static class LegacyMetaAnnotationPlaceholderConfig { - - @Bean - PrePostTemplateDefaults methodSecurityDefaults() { - return new PrePostTemplateDefaults(); - } - - @Bean - MetaAnnotationService metaAnnotationService() { - return new MetaAnnotationService(); - } - - } - @Configuration @EnableMethodSecurity static class MetaAnnotationPlaceholderConfig { diff --git a/config/src/test/java/org/springframework/security/config/annotation/method/configuration/PrePostReactiveMethodSecurityConfigurationTests.java b/config/src/test/java/org/springframework/security/config/annotation/method/configuration/PrePostReactiveMethodSecurityConfigurationTests.java index 32e08c166a..2a6797eebb 100644 --- a/config/src/test/java/org/springframework/security/config/annotation/method/configuration/PrePostReactiveMethodSecurityConfigurationTests.java +++ b/config/src/test/java/org/springframework/security/config/annotation/method/configuration/PrePostReactiveMethodSecurityConfigurationTests.java @@ -58,7 +58,6 @@ import org.springframework.security.authorization.method.AuthorizationAdvisor; import org.springframework.security.authorization.method.AuthorizationAdvisorProxyFactory; import org.springframework.security.authorization.method.AuthorizationAdvisorProxyFactory.TargetVisitor; import org.springframework.security.authorization.method.AuthorizeReturnObject; -import org.springframework.security.authorization.method.PrePostTemplateDefaults; import org.springframework.security.config.test.SpringTestContext; import org.springframework.security.config.test.SpringTestContextExtension; import org.springframework.security.core.Authentication; @@ -269,7 +268,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser public void methodeWhenParameterizedPreAuthorizeMetaAnnotationThenPasses(Class config) { this.spring.register(config).autowire(); @@ -278,7 +277,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser public void methodRoleWhenPreAuthorizeMetaAnnotationHardcodedParameterThenPasses(Class config) { this.spring.register(config).autowire(); @@ -287,7 +286,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) public void methodWhenParameterizedAnnotationThenFails(Class config) { this.spring.register(config).autowire(); MetaAnnotationService service = this.spring.getContext().getBean(MetaAnnotationService.class); @@ -296,7 +295,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser(authorities = "SCOPE_message:read") public void methodWhenMultiplePlaceholdersHasAuthorityThenPasses(Class config) { this.spring.register(config).autowire(); @@ -305,7 +304,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser(roles = "ADMIN") public void methodWhenMultiplePlaceholdersHasRoleThenPasses(Class config) { this.spring.register(config).autowire(); @@ -314,7 +313,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser public void methodWhenPostAuthorizeMetaAnnotationThenAuthorizes(Class config) { this.spring.register(config).autowire(); @@ -325,7 +324,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser public void methodWhenPreFilterMetaAnnotationThenFilters(Class config) { this.spring.register(config).autowire(); @@ -335,7 +334,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests { } @ParameterizedTest - @ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) + @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class }) @WithMockUser public void methodWhenPostFilterMetaAnnotationThenFilters(Class config) { this.spring.register(config).autowire(); @@ -564,22 +563,6 @@ public class PrePostReactiveMethodSecurityConfigurationTests { } - @Configuration - @EnableReactiveMethodSecurity - static class LegacyMetaAnnotationPlaceholderConfig { - - @Bean - PrePostTemplateDefaults methodSecurityDefaults() { - return new PrePostTemplateDefaults(); - } - - @Bean - MetaAnnotationService metaAnnotationService() { - return new MetaAnnotationService(); - } - - } - @Configuration @EnableReactiveMethodSecurity static class MetaAnnotationPlaceholderConfig { diff --git a/core/src/main/java/org/springframework/security/authorization/method/AbstractExpressionAttributeRegistry.java b/core/src/main/java/org/springframework/security/authorization/method/AbstractExpressionAttributeRegistry.java index ef6d00ac79..0b3c4614ba 100644 --- a/core/src/main/java/org/springframework/security/authorization/method/AbstractExpressionAttributeRegistry.java +++ b/core/src/main/java/org/springframework/security/authorization/method/AbstractExpressionAttributeRegistry.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -77,13 +77,6 @@ abstract class AbstractExpressionAttributeRegistry - * By default, this value is null, which indicates that templates should - * not be resolved. - * @param defaults - whether to resolve pre/post-authorization templates parameters - * @since 6.3 - * @deprecated Please use - * {@link #setTemplateDefaults(AnnotationTemplateExpressionDefaults)} instead - */ - @Deprecated - public void setTemplateDefaults(PrePostTemplateDefaults defaults) { - this.registry.setTemplateDefaults(defaults); - } - /** * Configure pre/post-authorization template resolution *

diff --git a/core/src/main/java/org/springframework/security/authorization/method/PostAuthorizeReactiveAuthorizationManager.java b/core/src/main/java/org/springframework/security/authorization/method/PostAuthorizeReactiveAuthorizationManager.java index 4a8d8302dc..5dad5ba082 100644 --- a/core/src/main/java/org/springframework/security/authorization/method/PostAuthorizeReactiveAuthorizationManager.java +++ b/core/src/main/java/org/springframework/security/authorization/method/PostAuthorizeReactiveAuthorizationManager.java @@ -52,21 +52,6 @@ public final class PostAuthorizeReactiveAuthorizationManager this.registry.setExpressionHandler(expressionHandler); } - /** - * Configure pre/post-authorization template resolution - *

- * By default, this value is null, which indicates that templates should - * not be resolved. - * @param defaults - whether to resolve pre/post-authorization templates parameters - * @since 6.3 - * @deprecated please use - * {@link #setTemplateDefaults(AnnotationTemplateExpressionDefaults)} - */ - @Deprecated - public void setTemplateDefaults(PrePostTemplateDefaults defaults) { - this.registry.setTemplateDefaults(defaults); - } - /** * Configure pre/post-authorization template resolution *

diff --git a/core/src/main/java/org/springframework/security/authorization/method/PostFilterAuthorizationMethodInterceptor.java b/core/src/main/java/org/springframework/security/authorization/method/PostFilterAuthorizationMethodInterceptor.java index 92f3bd3756..275b0a0e27 100644 --- a/core/src/main/java/org/springframework/security/authorization/method/PostFilterAuthorizationMethodInterceptor.java +++ b/core/src/main/java/org/springframework/security/authorization/method/PostFilterAuthorizationMethodInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -67,20 +67,6 @@ public final class PostFilterAuthorizationMethodInterceptor implements Authoriza this.registry.setExpressionHandler(expressionHandler); } - /** - * Configure pre/post-authorization template resolution - *

- * By default, this value is null, which indicates that templates should - * not be resolved. - * @param defaults - whether to resolve pre/post-authorization templates parameters - * @since 6.3 - * @deprecated Please use {@link AnnotationTemplateExpressionDefaults} instead - */ - @Deprecated - public void setTemplateDefaults(PrePostTemplateDefaults defaults) { - this.registry.setTemplateDefaults(defaults); - } - /** * Configure pre/post-authorization template resolution *

diff --git a/core/src/main/java/org/springframework/security/authorization/method/PostFilterAuthorizationReactiveMethodInterceptor.java b/core/src/main/java/org/springframework/security/authorization/method/PostFilterAuthorizationReactiveMethodInterceptor.java index 7e37707074..06c9e3d4f6 100644 --- a/core/src/main/java/org/springframework/security/authorization/method/PostFilterAuthorizationReactiveMethodInterceptor.java +++ b/core/src/main/java/org/springframework/security/authorization/method/PostFilterAuthorizationReactiveMethodInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -67,21 +67,6 @@ public final class PostFilterAuthorizationReactiveMethodInterceptor implements A this.registry.setExpressionHandler(expressionHandler); } - /** - * Configure pre/post-authorization template resolution - *

- * By default, this value is null, which indicates that templates should - * not be resolved. - * @param defaults - whether to resolve pre/post-authorization templates parameters - * @since 6.3 - * @deprecated please use - * {@link #setTemplateDefaults(AnnotationTemplateExpressionDefaults)} - */ - @Deprecated - public void setTemplateDefaults(PrePostTemplateDefaults defaults) { - this.registry.setTemplateDefaults(defaults); - } - /** * Configure pre/post-authorization template resolution *

diff --git a/core/src/main/java/org/springframework/security/authorization/method/PreAuthorizeAuthorizationManager.java b/core/src/main/java/org/springframework/security/authorization/method/PreAuthorizeAuthorizationManager.java index d28979a8d1..b23a97c5fe 100644 --- a/core/src/main/java/org/springframework/security/authorization/method/PreAuthorizeAuthorizationManager.java +++ b/core/src/main/java/org/springframework/security/authorization/method/PreAuthorizeAuthorizationManager.java @@ -51,21 +51,6 @@ public final class PreAuthorizeAuthorizationManager this.registry.setExpressionHandler(expressionHandler); } - /** - * Configure pre/post-authorization template resolution - *

- * By default, this value is null, which indicates that templates should - * not be resolved. - * @param defaults - whether to resolve pre/post-authorization templates parameters - * @since 6.3 - * @deprecated Please use - * {@link #setTemplateDefaults(AnnotationTemplateExpressionDefaults)} instead - */ - @Deprecated - public void setTemplateDefaults(PrePostTemplateDefaults defaults) { - this.registry.setTemplateDefaults(defaults); - } - /** * Configure pre/post-authorization template resolution *

diff --git a/core/src/main/java/org/springframework/security/authorization/method/PreAuthorizeReactiveAuthorizationManager.java b/core/src/main/java/org/springframework/security/authorization/method/PreAuthorizeReactiveAuthorizationManager.java index bd6e5c075c..b5c573283f 100644 --- a/core/src/main/java/org/springframework/security/authorization/method/PreAuthorizeReactiveAuthorizationManager.java +++ b/core/src/main/java/org/springframework/security/authorization/method/PreAuthorizeReactiveAuthorizationManager.java @@ -51,21 +51,6 @@ public final class PreAuthorizeReactiveAuthorizationManager this.registry.setExpressionHandler(expressionHandler); } - /** - * Configure pre/post-authorization template resolution - *

- * By default, this value is null, which indicates that templates should - * not be resolved. - * @param defaults - whether to resolve pre/post-authorization templates parameters - * @since 6.3 - * @deprecated please use - * {@link #setTemplateDefaults(AnnotationTemplateExpressionDefaults)} - */ - @Deprecated - public void setTemplateDefaults(PrePostTemplateDefaults defaults) { - this.registry.setTemplateDefaults(defaults); - } - /** * Configure pre/post-authorization template resolution *

diff --git a/core/src/main/java/org/springframework/security/authorization/method/PreFilterAuthorizationMethodInterceptor.java b/core/src/main/java/org/springframework/security/authorization/method/PreFilterAuthorizationMethodInterceptor.java index fd119c80e1..12f9875bbd 100644 --- a/core/src/main/java/org/springframework/security/authorization/method/PreFilterAuthorizationMethodInterceptor.java +++ b/core/src/main/java/org/springframework/security/authorization/method/PreFilterAuthorizationMethodInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -68,21 +68,6 @@ public final class PreFilterAuthorizationMethodInterceptor implements Authorizat this.registry.setExpressionHandler(expressionHandler); } - /** - * Configure pre/post-authorization template resolution - *

- * By default, this value is null, which indicates that templates should - * not be resolved. - * @param defaults - whether to resolve pre/post-authorization templates parameters - * @since 6.3 - * @deprecated Please use - * {@link #setTemplateDefaults(AnnotationTemplateExpressionDefaults)} instead - */ - @Deprecated - public void setTemplateDefaults(PrePostTemplateDefaults defaults) { - this.registry.setTemplateDefaults(defaults); - } - /** * Configure pre/post-authorization template resolution *

diff --git a/core/src/main/java/org/springframework/security/authorization/method/PreFilterAuthorizationReactiveMethodInterceptor.java b/core/src/main/java/org/springframework/security/authorization/method/PreFilterAuthorizationReactiveMethodInterceptor.java index 4f2267c3cb..9532d74f33 100644 --- a/core/src/main/java/org/springframework/security/authorization/method/PreFilterAuthorizationReactiveMethodInterceptor.java +++ b/core/src/main/java/org/springframework/security/authorization/method/PreFilterAuthorizationReactiveMethodInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -70,21 +70,6 @@ public final class PreFilterAuthorizationReactiveMethodInterceptor implements Au this.registry.setExpressionHandler(expressionHandler); } - /** - * Configure pre/post-authorization template resolution - *

- * By default, this value is null, which indicates that templates should - * not be resolved. - * @param defaults - whether to resolve pre/post-authorization templates parameters - * @since 6.3 - * @deprecated please use - * {@link #setTemplateDefaults(AnnotationTemplateExpressionDefaults)} - */ - @Deprecated - public void setTemplateDefaults(PrePostTemplateDefaults defaults) { - this.registry.setTemplateDefaults(defaults); - } - /** * Configure pre/post-authorization template resolution *

diff --git a/core/src/main/java/org/springframework/security/authorization/method/PrePostTemplateDefaults.java b/core/src/main/java/org/springframework/security/authorization/method/PrePostTemplateDefaults.java deleted file mode 100644 index 4ffef54834..0000000000 --- a/core/src/main/java/org/springframework/security/authorization/method/PrePostTemplateDefaults.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 2002-2024 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.security.authorization.method; - -import org.springframework.security.core.annotation.AnnotationTemplateExpressionDefaults; - -/** - * A component for configuring various cross-cutting aspects of pre/post method security - * - * @author Josh Cummings - * @since 6.3 - * @see org.springframework.security.access.prepost.PreAuthorize - * @see org.springframework.security.access.prepost.PostAuthorize - * @see org.springframework.security.access.prepost.PreFilter - * @see org.springframework.security.access.prepost.PostFilter - * @deprecated Please use {@link AnnotationTemplateExpressionDefaults} instead - */ -@Deprecated -public final class PrePostTemplateDefaults { - - private boolean ignoreUnknown = true; - - /** - * Whether template resolution should ignore placeholders it doesn't recognize. - *

- * By default, this value is true. - */ - public boolean isIgnoreUnknown() { - return this.ignoreUnknown; - } - - /** - * Configure template resolution to ignore unknown placeholders. When set to - * false, template resolution will throw an exception for unknown - * placeholders. - *

- * By default, this value is true. - * @param ignoreUnknown - whether to ignore unknown placeholders parameters - */ - public void setIgnoreUnknown(boolean ignoreUnknown) { - this.ignoreUnknown = ignoreUnknown; - } - -}