From a1b02214af41386790674f0fae75a752b0fe4621 Mon Sep 17 00:00:00 2001 From: Misagh Moayyed Date: Wed, 7 Sep 2016 16:35:37 +0430 Subject: [PATCH] Allow url patterns to be included --- .../authentication/AuthenticationFilter.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/authentication/AuthenticationFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/authentication/AuthenticationFilter.java index 82c16ae..f81d6a5 100644 --- a/cas-client-core/src/main/java/org/jasig/cas/client/authentication/AuthenticationFilter.java +++ b/cas-client-core/src/main/java/org/jasig/cas/client/authentication/AuthenticationFilter.java @@ -136,6 +136,12 @@ public class AuthenticationFilter extends AbstractCasFilter { filterChain.doFilter(request, response); return; } + + if (!isRequestUrlIncluded(request)) { + logger.debug("Request is not included."); + filterChain.doFilter(request, response); + return; + } final HttpSession session = request.getSession(false); final Assertion assertion = session != null ? (Assertion) session.getAttribute(CONST_CAS_ASSERTION) : null; @@ -212,6 +218,20 @@ public class AuthenticationFilter extends AbstractCasFilter { } } } + + private boolean isRequestUrlIncluded(final HttpServletRequest request) { + if (this.includeUrlPatternMatcherStrategyClass == null) { + return true; + } + + final StringBuffer urlBuffer = request.getRequestURL(); + if (request.getQueryString() != null) { + urlBuffer.append("?").append(request.getQueryString()); + } + final String requestUri = urlBuffer.toString(); + return this.includeUrlPatternMatcherStrategyClass.matches(requestUri); + } + private boolean isRequestUrlExcluded(final HttpServletRequest request) { if (this.ignoreUrlPatternMatcherStrategyClass == null) { return false;