From ae3f2af368166e4f8451e9fbadda2e0341b0a95e Mon Sep 17 00:00:00 2001 From: Charles Jones Date: Tue, 25 Aug 2015 12:03:48 -0500 Subject: [PATCH] Default service url to application base url even if context path is empty. --- .../java/info/magnolia/cms/security/cas/CASModule.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/info/magnolia/cms/security/cas/CASModule.java b/src/main/java/info/magnolia/cms/security/cas/CASModule.java index 9b5871b..644e871 100644 --- a/src/main/java/info/magnolia/cms/security/cas/CASModule.java +++ b/src/main/java/info/magnolia/cms/security/cas/CASModule.java @@ -31,6 +31,7 @@ import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; +import javax.servlet.http.HttpServletRequest; /** * This class handles the basic installation and configuration of the CAS enterprise module. @@ -182,6 +183,17 @@ public class CASModule implements ModuleLifecycle, EnterpriseLicensedModule { private String getRequestURLWithoutPath() { final String url = MgnlContext.getAggregationState().getOriginalURL(); - return StringUtils.removeEnd(StringUtils.removeEnd(url, StringUtils.substringAfter(url, MgnlContext.getContextPath())), "/"); + + final HttpServletRequest request = MgnlContext.getWebContext().getRequest(); + final StringBuilder serviceURLString = new StringBuilder(); + serviceURLString.append(request.getScheme()).append("://").append(request.getServerName()); + if ((request.getScheme().equals("http") && request.getServerPort() != 80) || + (request.getScheme().equals("https") && request.getServerPort() != 443) || + !request.getScheme().contains("http")) + serviceURLString.append(":").append(request.getServerPort()); + + serviceURLString.append(request.getContextPath()); + + return serviceURLString.toString(); } } -- 2.2.1