From c71230f5db0cb762022e3016f3f1e901468b0132 Mon Sep 17 00:00:00 2001 From: Maciej Walkowiak Date: Wed, 14 Jul 2021 13:30:20 +0200 Subject: [PATCH] Ensure filter order. --- .../io/sentry/spring/boot/SentryAutoConfiguration.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sentry-spring-boot-starter/src/main/java/io/sentry/spring/boot/SentryAutoConfiguration.java b/sentry-spring-boot-starter/src/main/java/io/sentry/spring/boot/SentryAutoConfiguration.java index 18f483550d..b702500a08 100644 --- a/sentry-spring-boot-starter/src/main/java/io/sentry/spring/boot/SentryAutoConfiguration.java +++ b/sentry-spring-boot-starter/src/main/java/io/sentry/spring/boot/SentryAutoConfiguration.java @@ -124,10 +124,13 @@ static class HubConfiguration { @Open static class SentryWebMvcConfiguration { + private static int SENTRY_SPRING_FILTER_PRECEDENCE = Ordered.HIGHEST_PRECEDENCE; + @Configuration(proxyBeanMethods = false) @ConditionalOnClass(SecurityContextHolder.class) @Open static class SentrySecurityConfiguration { + /** * Configures {@link SpringSecuritySentryUserProvider} only if Spring Security is on the * classpath. Its order is set to be higher than {@link @@ -184,7 +187,7 @@ static class SentrySecurityConfiguration { final @NotNull IHub hub, final @NotNull SentryRequestResolver requestResolver) { FilterRegistrationBean filter = new FilterRegistrationBean<>(new SentrySpringFilter(hub, requestResolver)); - filter.setOrder(Ordered.HIGHEST_PRECEDENCE); + filter.setOrder(SENTRY_SPRING_FILTER_PRECEDENCE); return filter; } @@ -195,7 +198,7 @@ public FilterRegistrationBean sentryTracingFilter( final @NotNull IHub hub) { FilterRegistrationBean filter = new FilterRegistrationBean<>(new SentryTracingFilter(hub)); - filter.setOrder(Ordered.HIGHEST_PRECEDENCE + 1); // must run after SentrySpringFilter + filter.setOrder(SENTRY_SPRING_FILTER_PRECEDENCE + 1); // must run after SentrySpringFilter return filter; }