Remove PrePostTemplateDefaults

Closes gh-17296

Signed-off-by: Tran Ngoc Nhan <ngocnhan.tran1996@gmail.com>
This commit is contained in:
Tran Ngoc Nhan 2025-06-20 00:41:59 +07:00 committed by Josh Cummings
parent 21036c94b4
commit d8043dc8a7
14 changed files with 22 additions and 270 deletions

View File

@ -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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with 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.PostFilterAuthorizationMethodInterceptor;
import org.springframework.security.authorization.method.PreAuthorizeAuthorizationManager; import org.springframework.security.authorization.method.PreAuthorizeAuthorizationManager;
import org.springframework.security.authorization.method.PreFilterAuthorizationMethodInterceptor; 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.ObjectPostProcessor;
import org.springframework.security.config.core.GrantedAuthorityDefaults; import org.springframework.security.config.core.GrantedAuthorityDefaults;
import org.springframework.security.core.annotation.AnnotationTemplateExpressionDefaults; import org.springframework.security.core.annotation.AnnotationTemplateExpressionDefaults;
@ -130,14 +129,6 @@ final class PrePostMethodSecurityConfiguration implements ImportAware, Applicati
this.postFilterMethodInterceptor.setTemplateDefaults(templateDefaults); 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) @Autowired(required = false)
void setExpressionHandler(MethodSecurityExpressionHandler expressionHandler) { void setExpressionHandler(MethodSecurityExpressionHandler expressionHandler) {
this.preFilterMethodInterceptor.setExpressionHandler(expressionHandler); this.preFilterMethodInterceptor.setExpressionHandler(expressionHandler);

View File

@ -42,7 +42,6 @@ import org.springframework.security.authorization.method.PostAuthorizeReactiveAu
import org.springframework.security.authorization.method.PostFilterAuthorizationReactiveMethodInterceptor; import org.springframework.security.authorization.method.PostFilterAuthorizationReactiveMethodInterceptor;
import org.springframework.security.authorization.method.PreAuthorizeReactiveAuthorizationManager; import org.springframework.security.authorization.method.PreAuthorizeReactiveAuthorizationManager;
import org.springframework.security.authorization.method.PreFilterAuthorizationReactiveMethodInterceptor; 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.ObjectPostProcessor;
import org.springframework.security.config.core.GrantedAuthorityDefaults; import org.springframework.security.config.core.GrantedAuthorityDefaults;
import org.springframework.security.core.annotation.AnnotationTemplateExpressionDefaults; import org.springframework.security.core.annotation.AnnotationTemplateExpressionDefaults;
@ -112,14 +111,6 @@ final class ReactiveAuthorizationManagerMethodSecurityConfiguration
this.postAuthorizeAuthorizationManager.setApplicationContext(context); 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) @Autowired(required = false)
void setTemplateDefaults(AnnotationTemplateExpressionDefaults templateDefaults) { void setTemplateDefaults(AnnotationTemplateExpressionDefaults templateDefaults) {
this.preFilterMethodInterceptor.setTemplateDefaults(templateDefaults); this.preFilterMethodInterceptor.setTemplateDefaults(templateDefaults);

View File

@ -103,7 +103,6 @@ import org.springframework.security.authorization.method.AuthorizationManagerBef
import org.springframework.security.authorization.method.AuthorizeReturnObject; import org.springframework.security.authorization.method.AuthorizeReturnObject;
import org.springframework.security.authorization.method.MethodAuthorizationDeniedHandler; import org.springframework.security.authorization.method.MethodAuthorizationDeniedHandler;
import org.springframework.security.authorization.method.MethodInvocationResult; 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.SecurityContextChangedListenerConfig;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.core.GrantedAuthorityDefaults; import org.springframework.security.config.core.GrantedAuthorityDefaults;
@ -665,7 +664,7 @@ public class PrePostMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser @WithMockUser
public void methodeWhenParameterizedPreAuthorizeMetaAnnotationThenPasses(Class<?> config) { public void methodeWhenParameterizedPreAuthorizeMetaAnnotationThenPasses(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -674,7 +673,7 @@ public class PrePostMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser @WithMockUser
public void methodRoleWhenPreAuthorizeMetaAnnotationHardcodedParameterThenPasses(Class<?> config) { public void methodRoleWhenPreAuthorizeMetaAnnotationHardcodedParameterThenPasses(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -683,7 +682,7 @@ public class PrePostMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
public void methodWhenParameterizedAnnotationThenFails(Class<?> config) { public void methodWhenParameterizedAnnotationThenFails(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
MetaAnnotationService service = this.spring.getContext().getBean(MetaAnnotationService.class); MetaAnnotationService service = this.spring.getContext().getBean(MetaAnnotationService.class);
@ -692,7 +691,7 @@ public class PrePostMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser(authorities = "SCOPE_message:read") @WithMockUser(authorities = "SCOPE_message:read")
public void methodWhenMultiplePlaceholdersHasAuthorityThenPasses(Class<?> config) { public void methodWhenMultiplePlaceholdersHasAuthorityThenPasses(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -701,7 +700,7 @@ public class PrePostMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser(roles = "ADMIN") @WithMockUser(roles = "ADMIN")
public void methodWhenMultiplePlaceholdersHasRoleThenPasses(Class<?> config) { public void methodWhenMultiplePlaceholdersHasRoleThenPasses(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -710,7 +709,7 @@ public class PrePostMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser @WithMockUser
public void methodWhenPostAuthorizeMetaAnnotationThenAuthorizes(Class<?> config) { public void methodWhenPostAuthorizeMetaAnnotationThenAuthorizes(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -721,7 +720,7 @@ public class PrePostMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser @WithMockUser
public void methodWhenPreFilterMetaAnnotationThenFilters(Class<?> config) { public void methodWhenPreFilterMetaAnnotationThenFilters(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -731,7 +730,7 @@ public class PrePostMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser @WithMockUser
public void methodWhenPostFilterMetaAnnotationThenFilters(Class<?> config) { public void methodWhenPostFilterMetaAnnotationThenFilters(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -993,18 +992,6 @@ public class PrePostMethodSecurityConfigurationTests {
assertThat(result).isEqualTo("classmask"); 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 @Test
@WithMockUser @WithMockUser
void postAuthorizeWhenDeniedAndHandlerWithCustomAnnotationThenHandlerCanUseMaskFromOtherAnnotation() { 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 @Configuration
@EnableMethodSecurity @EnableMethodSecurity
static class MetaAnnotationPlaceholderConfig { static class MetaAnnotationPlaceholderConfig {

View File

@ -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;
import org.springframework.security.authorization.method.AuthorizationAdvisorProxyFactory.TargetVisitor; import org.springframework.security.authorization.method.AuthorizationAdvisorProxyFactory.TargetVisitor;
import org.springframework.security.authorization.method.AuthorizeReturnObject; 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.SpringTestContext;
import org.springframework.security.config.test.SpringTestContextExtension; import org.springframework.security.config.test.SpringTestContextExtension;
import org.springframework.security.core.Authentication; import org.springframework.security.core.Authentication;
@ -269,7 +268,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser @WithMockUser
public void methodeWhenParameterizedPreAuthorizeMetaAnnotationThenPasses(Class<?> config) { public void methodeWhenParameterizedPreAuthorizeMetaAnnotationThenPasses(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -278,7 +277,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser @WithMockUser
public void methodRoleWhenPreAuthorizeMetaAnnotationHardcodedParameterThenPasses(Class<?> config) { public void methodRoleWhenPreAuthorizeMetaAnnotationHardcodedParameterThenPasses(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -287,7 +286,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
public void methodWhenParameterizedAnnotationThenFails(Class<?> config) { public void methodWhenParameterizedAnnotationThenFails(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
MetaAnnotationService service = this.spring.getContext().getBean(MetaAnnotationService.class); MetaAnnotationService service = this.spring.getContext().getBean(MetaAnnotationService.class);
@ -296,7 +295,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser(authorities = "SCOPE_message:read") @WithMockUser(authorities = "SCOPE_message:read")
public void methodWhenMultiplePlaceholdersHasAuthorityThenPasses(Class<?> config) { public void methodWhenMultiplePlaceholdersHasAuthorityThenPasses(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -305,7 +304,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser(roles = "ADMIN") @WithMockUser(roles = "ADMIN")
public void methodWhenMultiplePlaceholdersHasRoleThenPasses(Class<?> config) { public void methodWhenMultiplePlaceholdersHasRoleThenPasses(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -314,7 +313,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser @WithMockUser
public void methodWhenPostAuthorizeMetaAnnotationThenAuthorizes(Class<?> config) { public void methodWhenPostAuthorizeMetaAnnotationThenAuthorizes(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -325,7 +324,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser @WithMockUser
public void methodWhenPreFilterMetaAnnotationThenFilters(Class<?> config) { public void methodWhenPreFilterMetaAnnotationThenFilters(Class<?> config) {
this.spring.register(config).autowire(); this.spring.register(config).autowire();
@ -335,7 +334,7 @@ public class PrePostReactiveMethodSecurityConfigurationTests {
} }
@ParameterizedTest @ParameterizedTest
@ValueSource(classes = { LegacyMetaAnnotationPlaceholderConfig.class, MetaAnnotationPlaceholderConfig.class }) @ValueSource(classes = { MetaAnnotationPlaceholderConfig.class })
@WithMockUser @WithMockUser
public void methodWhenPostFilterMetaAnnotationThenFilters(Class<?> config) { public void methodWhenPostFilterMetaAnnotationThenFilters(Class<?> config) {
this.spring.register(config).autowire(); 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 @Configuration
@EnableReactiveMethodSecurity @EnableReactiveMethodSecurity
static class MetaAnnotationPlaceholderConfig { static class MetaAnnotationPlaceholderConfig {

View File

@ -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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -77,13 +77,6 @@ abstract class AbstractExpressionAttributeRegistry<T extends ExpressionAttribute
this.expressionHandler = expressionHandler; this.expressionHandler = expressionHandler;
} }
@Deprecated
void setTemplateDefaults(PrePostTemplateDefaults defaults) {
AnnotationTemplateExpressionDefaults adapter = new AnnotationTemplateExpressionDefaults();
adapter.setIgnoreUnknown(defaults.isIgnoreUnknown());
setTemplateDefaults(adapter);
}
abstract void setTemplateDefaults(AnnotationTemplateExpressionDefaults adapter); abstract void setTemplateDefaults(AnnotationTemplateExpressionDefaults adapter);
/** /**

View File

@ -51,21 +51,6 @@ public final class PostAuthorizeAuthorizationManager
this.registry.setExpressionHandler(expressionHandler); this.registry.setExpressionHandler(expressionHandler);
} }
/**
* Configure pre/post-authorization template resolution
* <p>
* By default, this value is <code>null</code>, 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 * Configure pre/post-authorization template resolution
* <p> * <p>

View File

@ -52,21 +52,6 @@ public final class PostAuthorizeReactiveAuthorizationManager
this.registry.setExpressionHandler(expressionHandler); this.registry.setExpressionHandler(expressionHandler);
} }
/**
* Configure pre/post-authorization template resolution
* <p>
* By default, this value is <code>null</code>, 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 * Configure pre/post-authorization template resolution
* <p> * <p>

View File

@ -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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with 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); this.registry.setExpressionHandler(expressionHandler);
} }
/**
* Configure pre/post-authorization template resolution
* <p>
* By default, this value is <code>null</code>, 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 * Configure pre/post-authorization template resolution
* <p> * <p>

View File

@ -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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with 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); this.registry.setExpressionHandler(expressionHandler);
} }
/**
* Configure pre/post-authorization template resolution
* <p>
* By default, this value is <code>null</code>, 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 * Configure pre/post-authorization template resolution
* <p> * <p>

View File

@ -51,21 +51,6 @@ public final class PreAuthorizeAuthorizationManager
this.registry.setExpressionHandler(expressionHandler); this.registry.setExpressionHandler(expressionHandler);
} }
/**
* Configure pre/post-authorization template resolution
* <p>
* By default, this value is <code>null</code>, 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 * Configure pre/post-authorization template resolution
* <p> * <p>

View File

@ -51,21 +51,6 @@ public final class PreAuthorizeReactiveAuthorizationManager
this.registry.setExpressionHandler(expressionHandler); this.registry.setExpressionHandler(expressionHandler);
} }
/**
* Configure pre/post-authorization template resolution
* <p>
* By default, this value is <code>null</code>, 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 * Configure pre/post-authorization template resolution
* <p> * <p>

View File

@ -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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with 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); this.registry.setExpressionHandler(expressionHandler);
} }
/**
* Configure pre/post-authorization template resolution
* <p>
* By default, this value is <code>null</code>, 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 * Configure pre/post-authorization template resolution
* <p> * <p>

View File

@ -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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with 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); this.registry.setExpressionHandler(expressionHandler);
} }
/**
* Configure pre/post-authorization template resolution
* <p>
* By default, this value is <code>null</code>, 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 * Configure pre/post-authorization template resolution
* <p> * <p>

View File

@ -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.
* <p>
* By default, this value is <code>true</code>.
*/
public boolean isIgnoreUnknown() {
return this.ignoreUnknown;
}
/**
* Configure template resolution to ignore unknown placeholders. When set to
* <code>false</code>, template resolution will throw an exception for unknown
* placeholders.
* <p>
* By default, this value is <code>true</code>.
* @param ignoreUnknown - whether to ignore unknown placeholders parameters
*/
public void setIgnoreUnknown(boolean ignoreUnknown) {
this.ignoreUnknown = ignoreUnknown;
}
}