diff --git a/pom.xml b/pom.xml
index bdac48726..c107898c7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,7 +77,7 @@
0.32.0
2.3.4.RELEASE
2.2.0.RELEASE
- 5.6.0-M2
+ 5.6.0-M3
false
4.9.0
4.8.0
diff --git a/spring-cloud-sleuth-instrumentation/src/main/java/org/springframework/cloud/sleuth/instrument/security/TracingSecurityContextChangedListener.java b/spring-cloud-sleuth-instrumentation/src/main/java/org/springframework/cloud/sleuth/instrument/security/TracingSecurityContextChangedListener.java
index 54e5d2260..e34f299cf 100644
--- a/spring-cloud-sleuth-instrumentation/src/main/java/org/springframework/cloud/sleuth/instrument/security/TracingSecurityContextChangedListener.java
+++ b/spring-cloud-sleuth-instrumentation/src/main/java/org/springframework/cloud/sleuth/instrument/security/TracingSecurityContextChangedListener.java
@@ -51,8 +51,8 @@ public class TracingSecurityContextChangedListener implements SecurityContextCha
@Override
public void securityContextChanged(SecurityContextChangedEvent securityContextChangedEvent) {
- SecurityContext previousContext = securityContextChangedEvent.getPreviousContext();
- SecurityContext currentContext = securityContextChangedEvent.getCurrentContext();
+ SecurityContext previousContext = securityContextChangedEvent.getOldContext();
+ SecurityContext currentContext = securityContextChangedEvent.getNewContext();
Authentication previousAuthentication = previousContext != null ? previousContext.getAuthentication() : null;
Authentication currentAuthentication = currentContext != null ? currentContext.getAuthentication() : null;
diff --git a/tests/common/src/main/java/org/springframework/cloud/sleuth/instrument/security/SpringSecurityTests.java b/tests/common/src/main/java/org/springframework/cloud/sleuth/instrument/security/SpringSecurityTests.java
index 9cab9ba68..838b378d5 100644
--- a/tests/common/src/main/java/org/springframework/cloud/sleuth/instrument/security/SpringSecurityTests.java
+++ b/tests/common/src/main/java/org/springframework/cloud/sleuth/instrument/security/SpringSecurityTests.java
@@ -32,8 +32,10 @@ import org.springframework.cloud.sleuth.test.TestSpanHandler;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.ResponseEntity;
+import org.springframework.security.core.context.ListeningSecurityContextHolderStrategy;
import org.springframework.security.core.context.SecurityContextChangedListener;
import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.context.SecurityContextHolderStrategy;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
@@ -106,7 +108,9 @@ public abstract class SpringSecurityTests {
// TODO: Remove this after Spring Boot auto-configuration is available
Config(List listeners) {
- listeners.forEach(SecurityContextHolder::addListener);
+ SecurityContextHolderStrategy strategy = new ListeningSecurityContextHolderStrategy(
+ SecurityContextHolder.getContextHolderStrategy(), listeners);
+ SecurityContextHolder.setContextHolderStrategy(strategy);
}
@Bean