From 728b5224cb2f46e79668d059b0a169f82e9a0d7b Mon Sep 17 00:00:00 2001 From: Josh Cummings <3627351+jzheaux@users.noreply.github.com> Date: Wed, 9 Jul 2025 18:36:35 -0600 Subject: [PATCH] Add withDefaults Shortcut for Custom Configurers Issue gh-13204 --- .../AbstractConfiguredSecurityBuilder.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/config/src/main/java/org/springframework/security/config/annotation/AbstractConfiguredSecurityBuilder.java b/config/src/main/java/org/springframework/security/config/annotation/AbstractConfiguredSecurityBuilder.java index c127ceb0e6..7643e491b6 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/AbstractConfiguredSecurityBuilder.java +++ b/config/src/main/java/org/springframework/security/config/annotation/AbstractConfiguredSecurityBuilder.java @@ -144,6 +144,29 @@ public abstract class AbstractConfiguredSecurityBuilder + * A shortcut for applying a configurer as-is, or in other words: + * .with(new MyConfigurer()) + * + * + *

+ * Is identical to: + * .with(new MyConfigurer(), Customizer.withDefaults()) + * + * @param configurer + * @return the {@link SecurityBuilder} for further customizations + * @throws Exception + * @since 7.0 + */ + @SuppressWarnings("unchecked") + public > B with(C configurer) throws Exception { + return with(configurer, Customizer.withDefaults()); + } + /** * Applies a {@link SecurityConfigurerAdapter} to this {@link SecurityBuilder} and * invokes {@link SecurityConfigurerAdapter#setBuilder(SecurityBuilder)}.