From 7be32872e97644344b9b12fcc500a153e3a9b044 Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Thu, 7 Apr 2022 09:57:17 -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-6.0.rnc | 2 +- .../security/config/spring-security-6.0.xsd | 1 + .../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 | 72 ++++++++++++++ 14 files changed, 345 insertions(+), 7 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 28aa1f641e..998777d5c0 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 @@ -41,6 +41,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; /** @@ -123,6 +124,7 @@ public interface HttpSecurityBuilder> * The ordering of the Filters is: * *