From 39b0620a847bb79968a02a03e55edb8b58bce58f Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Wed, 6 Apr 2022 14:42:47 -0500 Subject: [PATCH] Add DisableUrlRewritingFilter Closes gh-11084 --- .../annotation/web/HttpSecurityBuilder.java | 2 + .../web/builders/FilterOrderRegistration.java | 2 + .../SessionManagementConfigurer.java | 4 + .../config/http/HttpConfigurationBuilder.java | 24 ++++- .../security/config/http/SecurityFilters.java | 2 + .../security/config/spring-security-5.7.rnc | 2 +- .../security/config/spring-security-5.7.xsd | 59 ++++++------ .../FilterOrderRegistrationTests.java | 2 +- .../SessionManagementConfigurerTests.java | 93 +++++++++++++++++++ .../config/http/MiscHttpConfigTests.java | 26 ++++++ ...ewriting-NullSecurityContextRepository.xml | 32 +++++++ .../servlet/configuration/xml-namespace.adoc | 4 + .../web/session/DisableEncodeUrlFilter.java | 86 +++++++++++++++++ .../session/DisableEncodeUrlFilterTests.java | 73 +++++++++++++++ 14 files changed, 375 insertions(+), 36 deletions(-) create mode 100644 config/src/test/resources/org/springframework/security/config/http/MiscHttpConfigTests-DisableUrlRewriting-NullSecurityContextRepository.xml create mode 100644 web/src/main/java/org/springframework/security/web/session/DisableEncodeUrlFilter.java create mode 100644 web/src/test/java/org/springframework/security/web/session/DisableEncodeUrlFilterTests.java diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/HttpSecurityBuilder.java b/config/src/main/java/org/springframework/security/config/annotation/web/HttpSecurityBuilder.java index 475f2de2f5..83dcdfb6c3 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/HttpSecurityBuilder.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/HttpSecurityBuilder.java @@ -42,6 +42,7 @@ import org.springframework.security.web.jaasapi.JaasApiIntegrationFilter; import org.springframework.security.web.savedrequest.RequestCacheAwareFilter; import org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter; import org.springframework.security.web.session.ConcurrentSessionFilter; +import org.springframework.security.web.session.DisableEncodeUrlFilter; import org.springframework.security.web.session.SessionManagementFilter; /** @@ -124,6 +125,7 @@ public interface HttpSecurityBuilder> * The ordering of the Filters is: * *