diff --git a/config/src/main/java/org/springframework/security/config/web/server/ServerHttpSecurity.java b/config/src/main/java/org/springframework/security/config/web/server/ServerHttpSecurity.java index 00b165d33c..a13b9975a0 100644 --- a/config/src/main/java/org/springframework/security/config/web/server/ServerHttpSecurity.java +++ b/config/src/main/java/org/springframework/security/config/web/server/ServerHttpSecurity.java @@ -249,7 +249,14 @@ public class ServerHttpSecurity { this.authorizeExchangeBuilder.configure(this); } AnnotationAwareOrderComparator.sort(this.webFilters); - return new MatcherSecurityWebFilterChain(getSecurityMatcher(), this.webFilters); + List sortedWebFilters = new ArrayList<>(); + this.webFilters.forEach( f -> { + if(f instanceof OrderedWebFilter) { + f = ((OrderedWebFilter)f).webFilter; + } + sortedWebFilters.add(f); + }); + return new MatcherSecurityWebFilterChain(getSecurityMatcher(), sortedWebFilters); } private String buildToString() {