diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/SessionManagementConfigurer.java b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/SessionManagementConfigurer.java index baf041e44a..5d6d2c22f0 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/SessionManagementConfigurer.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/SessionManagementConfigurer.java @@ -692,15 +692,10 @@ public final class SessionManagementConfigurer> private void registerDelegateApplicationListener(H http, ApplicationListener delegate) { - ApplicationContext context = http.getSharedObject(ApplicationContext.class); - if (context == null) { + DelegatingApplicationListener delegating = getBeanOrNull(DelegatingApplicationListener.class); + if (delegating == null) { return; } - if (context.getBeansOfType(DelegatingApplicationListener.class).isEmpty()) { - return; - } - DelegatingApplicationListener delegating = context - .getBean(DelegatingApplicationListener.class); SmartApplicationListener smartListener = new GenericApplicationListenerAdapter( delegate); delegating.addListener(smartListener);