From 74e2a7d903dcbb9bd8c738ac2539e255819fbbaf Mon Sep 17 00:00:00 2001 From: avsan Date: Tue, 1 Sep 2026 04:44:23 +0530 Subject: [PATCH] Use correct logger for user details configuration warning Use the InitializeUserDetailsBeanManagerConfigurer logger category for the configuration warning so that the documented logger name matches the logger that emits the warning. Add regression coverage for the logger category. Closes gh-19595 Signed-off-by: avsan --- ...alizeUserDetailsBeanManagerConfigurer.java | 2 +- .../AuthenticationConfigurationTests.java | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/config/src/main/java/org/springframework/security/config/annotation/authentication/configuration/InitializeUserDetailsBeanManagerConfigurer.java b/config/src/main/java/org/springframework/security/config/annotation/authentication/configuration/InitializeUserDetailsBeanManagerConfigurer.java index 6f3d7141447..1b05e0d9b1b 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/authentication/configuration/InitializeUserDetailsBeanManagerConfigurer.java +++ b/config/src/main/java/org/springframework/security/config/annotation/authentication/configuration/InitializeUserDetailsBeanManagerConfigurer.java @@ -62,7 +62,7 @@ public void init(AuthenticationManagerBuilder auth) { class InitializeUserDetailsManagerConfigurer extends GlobalAuthenticationConfigurerAdapter { - private final Log logger = LogFactory.getLog(getClass()); + private final Log logger = LogFactory.getLog(InitializeUserDetailsBeanManagerConfigurer.class); @Override public void configure(AuthenticationManagerBuilder auth) { diff --git a/config/src/test/java/org/springframework/security/config/annotation/authentication/configuration/AuthenticationConfigurationTests.java b/config/src/test/java/org/springframework/security/config/annotation/authentication/configuration/AuthenticationConfigurationTests.java index e43378a0642..39d3b1fd92c 100644 --- a/config/src/test/java/org/springframework/security/config/annotation/authentication/configuration/AuthenticationConfigurationTests.java +++ b/config/src/test/java/org/springframework/security/config/annotation/authentication/configuration/AuthenticationConfigurationTests.java @@ -16,6 +16,11 @@ package org.springframework.security.config.annotation.authentication.configuration; +import ch.qos.logback.classic.Logger; +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.read.ListAppender; +import org.slf4j.LoggerFactory; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -266,6 +271,31 @@ public void getAuthenticationWhenAuthenticationProviderAndUserDetailsBeanThenAut am.authenticate(UsernamePasswordAuthenticationToken.unauthenticated("user", "password")); } + @Test + public void getAuthenticationWhenAuthenticationProviderAndUserDetailsBeanThenWarningUsesConfigurerLogger() + throws Exception { + Logger rootLogger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); + ListAppender appender = new ListAppender<>(); + appender.start(); + rootLogger.addAppender(appender); + + try { + this.spring.register(AuthenticationProviderBeanAndUserDetailsServiceConfig.class).autowire(); + + this.spring.getContext().getBean(AuthenticationConfiguration.class).getAuthenticationManager(); + + assertThat(appender.list) + .filteredOn( + (event) -> event.getFormattedMessage().contains("UserDetailsService beans will not be used")) + .extracting(ILoggingEvent::getLoggerName) + .containsExactly(InitializeUserDetailsBeanManagerConfigurer.class.getName()); + } + finally { + rootLogger.detachAppender(appender); + appender.stop(); + } + } + // gh-3091 @Test public void getAuthenticationWhenAuthenticationProviderBeanThenUsed() throws Exception {