private boolean isSupportedScheme(final HstMutableRequestContext requestContext, final ResolvedSiteMapItem resolvedSiteMapItem, final String farthestRequestScheme) { if (requestContext.isCmsRequest()) { // cms request always supported as piggybacking on cms host return true; } final HstSiteMapItem hstSiteMapItem = resolvedSiteMapItem.getHstSiteMapItem(); if (hstSiteMapItem.isSchemeAgnostic()) { return true; } if (hstSiteMapItem.getScheme().equals(farthestRequestScheme)) { return true; } if ("https".equals(farthestRequestScheme) && resolvedSiteMapItem.getResolvedMount().getMount().getVirtualHost().isCustomHttpsSupported()) { // although sitemap item indicates http, https is approved by default to be rendered return true; } return false; }
public Credentials getWritableCredentials(HstRequestContext requestContext) { Credentials credentials = super.getWritableCredentials(requestContext); if (credentials instanceof SimpleCredentials) { String siteName = requestContext.getResolvedSiteMapItem().getResolvedMount().getMount().getHstSite().getName(); String userID = ((SimpleCredentials) credentials).getUserID(); String userIDWithSiteName = userID + siteNameSeparator + siteName; char [] password = ((SimpleCredentials) credentials).getPassword(); credentials = writableCredentialsCache.get(userIDWithSiteName); if (credentials == null) { credentials = new SimpleCredentials(userIDWithSiteName, password); writableCredentialsCache.put(userIDWithSiteName, credentials); } } return credentials; } }
public Credentials getDefaultCredentials(HstRequestContext requestContext) { Credentials credentials = super.getDefaultCredentials(requestContext); if (credentials instanceof SimpleCredentials) { String siteName = requestContext.getResolvedSiteMapItem().getResolvedMount().getMount().getHstSite().getName(); String userID = ((SimpleCredentials) credentials).getUserID(); String userIDWithSiteName = userID + siteNameSeparator + siteName; char [] password = ((SimpleCredentials) credentials).getPassword(); if (requestContext.isPreview()) { credentials = defaultCredentialsForPreviewModeCache.get(userIDWithSiteName); if (credentials == null) { credentials = new SimpleCredentials(userIDWithSiteName, password); defaultCredentialsForPreviewModeCache.put(userIDWithSiteName, credentials); } } else { credentials = defaultCredentialsCache.get(userIDWithSiteName); if (credentials == null) { credentials = new SimpleCredentials(userIDWithSiteName, password); defaultCredentialsCache.put(userIDWithSiteName, credentials); } } } return credentials; }
containerRequest.removeAttribute(ContainerConstants.HST_FORWARD_PATH_INFO); resolvedSiteMapItem = resolvedSiteMapItem.getResolvedMount().matchSiteMapItem(forwardPathInfo); if(resolvedSiteMapItem == null) {
ResolvedMount resolvedMount = requestContext.getResolvedSiteMapItem().getResolvedMount(); if(preferItemId != null) { if(siteMapItem != null) {
res.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); urlWithExplicitSchemeForRequest = createURLWithExplicitSchemeForRequest(hstSiteMapItem.getScheme(), resolvedSiteMapItem.getResolvedMount().getMount(), req); log.debug("Scheme not allowed: MOVED PERMANENTLY {} to {}", containerRequest, urlWithExplicitSchemeForRequest); res.setHeader("Location", urlWithExplicitSchemeForRequest); case HttpServletResponse.SC_TEMPORARY_REDIRECT: urlWithExplicitSchemeForRequest = createURLWithExplicitSchemeForRequest(hstSiteMapItem.getScheme(), resolvedSiteMapItem.getResolvedMount().getMount(), req); log.debug("Scheme not allowed: MOVED TEMPORARILY {} to {}", containerRequest, urlWithExplicitSchemeForRequest); res.sendRedirect(urlWithExplicitSchemeForRequest);