diff --git a/web/src/main/java/org/springframework/security/web/servlet/util/matcher/PathPatternRequestMatcher.java b/web/src/main/java/org/springframework/security/web/servlet/util/matcher/PathPatternRequestMatcher.java index 5d3d434523..c763850163 100644 --- a/web/src/main/java/org/springframework/security/web/servlet/util/matcher/PathPatternRequestMatcher.java +++ b/web/src/main/java/org/springframework/security/web/servlet/util/matcher/PathPatternRequestMatcher.java @@ -127,12 +127,15 @@ public final class PathPatternRequestMatcher implements RequestMatcher { } private RequestPath getRequestPath(HttpServletRequest request) { + RequestPath path; if (ServletRequestPathUtils.hasParsedRequestPath(request)) { - return ServletRequestPathUtils.getParsedRequestPath(request); + path = ServletRequestPathUtils.getParsedRequestPath(request); } else { - return ServletRequestPathUtils.parseAndCache(request); + path = ServletRequestPathUtils.parseAndCache(request); + ServletRequestPathUtils.clearParsedRequestPath(request); } + return path; } /**