From 13202eb278c85cf4879fe7e7e9d6b61d46ce3fe7 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Thu, 5 Jul 2018 13:25:40 +0900 Subject: [PATCH 1/2] Prevent duplicate RequestMatcher in RequestMatcherFactory.antPath() Closes gh-13706 --- .../autoconfigure/security/servlet/EndpointRequest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/EndpointRequest.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/EndpointRequest.java index dbcc6da2018..f1c41b47897 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/EndpointRequest.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/EndpointRequest.java @@ -299,12 +299,12 @@ public final class EndpointRequest { List antPath(String... parts) { List matchers = new ArrayList<>(); this.servletPaths.stream().map((p) -> { - if (StringUtils.hasText(p)) { + if (StringUtils.hasText(p) && !p.equals("/")) { return p; } return ""; }).distinct().forEach((path) -> { - String pattern = (path.equals("/") ? "" : path); + String pattern = path; for (String part : parts) { pattern += part; } From e6ea28dec596a792a8db0386d28e6cc62743997f Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Fri, 13 Jul 2018 09:36:37 +0200 Subject: [PATCH 2/2] Polish --- .../autoconfigure/security/servlet/EndpointRequest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/EndpointRequest.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/EndpointRequest.java index f1c41b47897..9db53f43291 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/EndpointRequest.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/servlet/EndpointRequest.java @@ -304,11 +304,11 @@ public final class EndpointRequest { } return ""; }).distinct().forEach((path) -> { - String pattern = path; + StringBuilder pattern = new StringBuilder(path); for (String part : parts) { - pattern += part; + pattern.append(part); } - matchers.add(new AntPathRequestMatcher(pattern)); + matchers.add(new AntPathRequestMatcher(pattern.toString())); }); return matchers; }