Browse Source

DummyRequest supports methods for MvcRequestMatcher

To support MvcRequestMatcher DummyRequest needs to support
getCharacterEncoding() and getAttribute(String)
Rob Winch 9 năm trước cách đây
mục cha
commit
6649d46896

+ 7 - 0
config/src/test/java/org/springframework/security/config/annotation/web/configurers/HttpSecurityRequestMatchersTests.java

@@ -95,6 +95,13 @@ public class HttpSecurityRequestMatchersTests {
 				.isEqualTo(HttpServletResponse.SC_UNAUTHORIZED);
 	}
 
+	@Test
+	public void mvcMatcherGetFiltersNoUnsupportedMethodExceptionFromDummyRequest() {
+		loadConfig(MvcMatcherConfig.class);
+
+		assertThat(springSecurityFilterChain.getFilters("/path")).isNotEmpty();
+	}
+
 	@EnableWebSecurity
 	@Configuration
 	@EnableWebMvc

+ 8 - 0
web/src/main/java/org/springframework/security/web/FilterInvocation.java

@@ -167,6 +167,14 @@ class DummyRequest extends HttpServletRequestWrapper {
 		super(UNSUPPORTED_REQUEST);
 	}
 
+	public String getCharacterEncoding() {
+		return "UTF-8";
+	}
+
+	public Object getAttribute(String attributeName) {
+		return null;
+	}
+
 	public void setRequestURI(String requestURI) {
 		this.requestURI = requestURI;
 	}