if (StringUtils.hasLength(casConfig.getProxyCallbackUrlPrefix())) { URL callBackUrl=null; try { callBackUrl=new URL(casConfig.getProxyCallbackUrlPrefix()); } catch (MalformedURLException ex) { throw createFilterException(CasFilterConfigException.CAS_PROXYCALLBACK_MALFORMED);
public void validateCASFilterConfig(CasAuthenticationFilterConfig casConfig) throws FilterConfigException { if (StringUtils.hasLength(casConfig.getUrlInCasLogoutPage())) { try { new URL(casConfig.getUrlInCasLogoutPage()); } catch (MalformedURLException ex) { throw createFilterException( CasFilterConfigException.CAS_URL_IN_LOGOUT_PAGE_MALFORMED); } } super.validateFilterConfig((PreAuthenticatedUserNameFilterConfig) casConfig); if (StringUtils.hasLength(casConfig.getCasServerUrlPrefix()) == false) throw createFilterException(CasFilterConfigException.CAS_SERVER_URL_REQUIRED); try { new URL(casConfig.getCasServerUrlPrefix()); } catch (MalformedURLException ex) { throw createFilterException(CasFilterConfigException.CAS_SERVER_URL_MALFORMED); } if (StringUtils.hasLength(casConfig.getProxyCallbackUrlPrefix())) { URL callBackUrl = null; try { callBackUrl = new URL(casConfig.getProxyCallbackUrlPrefix()); } catch (MalformedURLException ex) { throw createFilterException(CasFilterConfigException.CAS_PROXYCALLBACK_MALFORMED); } if ("https".equalsIgnoreCase(callBackUrl.getProtocol()) == false) throw createFilterException(CasFilterConfigException.CAS_PROXYCALLBACK_NOT_HTTPS); } }
@Override public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { super.initializeFromConfig(config); CasAuthenticationFilterConfig authConfig = (CasAuthenticationFilterConfig) config; validator = new GeoServerCas20ProxyTicketValidator(authConfig.getCasServerUrlPrefix()); validator.setAcceptAnyProxy(true); validator.setProxyGrantingTicketStorage(pgtStorageFilter); validator.setRenew(authConfig.isSendRenew()); if (StringUtils.hasLength(authConfig.getProxyCallbackUrlPrefix())) validator.setProxyCallbackUrl(GeoServerCasConstants.createProxyCallBackURl(authConfig.getProxyCallbackUrlPrefix())); casLogoutURL=GeoServerCasConstants.createCasURl(authConfig.getCasServerUrlPrefix(), GeoServerCasConstants.LOGOUT_URI); if (StringUtils.hasLength(authConfig.getUrlInCasLogoutPage())) casLogoutURL+="?"+GeoServerCasConstants.LOGOUT_URL_PARAM+"="+URLEncoder.encode(authConfig.getUrlInCasLogoutPage(),"utf-8"); singleSignOut=authConfig.isSingleSignOut(); aep = new GeoServerCasAuthenticationEntryPoint(authConfig); }
if (StringUtils.hasLength(authConfig.getProxyCallbackUrlPrefix())) validator.setProxyCallbackUrl( GeoServerCasConstants.createProxyCallBackURl( authConfig.getProxyCallbackUrlPrefix()));