/** * creates the proxy callback url using the call back url prefix * and {@link #CAS_PROXY_RECEPTOR_PATTERN} * * if the ulrPrefix is null, the return value is null * * @param urlPrefix * @return */ public static String createProxyCallBackURl(String urlPrefix) { return createCasURl(urlPrefix, CAS_PROXY_RECEPTOR_PATTERN); }
@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); }
protected Assertion authenticateWithPGT(CasFormAuthenticationHelper helper) throws Exception { helper.ssoLogin(); String ticket = helper.getServiceTicket(serviceUrl); Cas20ProxyTicketValidator validator = new Cas20ProxyTicketValidator( casServerURLPrefix.toString()); validator.setAcceptAnyProxy(true); validator.setProxyCallbackUrl(GeoServerCasConstants .createProxyCallBackURl(proxyCallbackUrlPrefix.toExternalForm())); validator.setProxyGrantingTicketStorage(GeoServerExtensions .bean(ProxyGrantingTicketStorage.class)); Assertion result = validator.validate(ticket, serviceUrl.toExternalForm()); assertNotNull(result); return result; }
if (StringUtils.hasLength(authConfig.getProxyCallbackUrlPrefix())) validator.setProxyCallbackUrl( GeoServerCasConstants.createProxyCallBackURl( authConfig.getProxyCallbackUrlPrefix())); GeoServerCasConstants.createCasURl( authConfig.getCasServerUrlPrefix(), GeoServerCasConstants.LOGOUT_URI); if (StringUtils.hasLength(authConfig.getUrlInCasLogoutPage()))
protected HttpsServer createAndStartHttpsServer() throws Exception { HttpsServer httpsServer = ((LiveCasData) getTestData()).createSSLServer(); URL callbackUrl = new URL( GeoServerCasConstants.createProxyCallBackURl(proxyCallbackUrlPrefix.toString())); httpsServer.createContext(callbackUrl.getPath(), new HttpsProxyCallBackHandler()); httpsServer.createContext(createRequest("/j_spring_cas_security_check").getRequestURI(), new SingleSignOutHandler("/j_spring_cas_security_check")); httpsServer.createContext(createRequest("/wms").getRequestURI(), new SingleSignOutHandler( "/wms")); httpsServer.start(); return httpsServer; }
/** * creates the proxy callback url using the call back url prefix and {@link * #CAS_PROXY_RECEPTOR_PATTERN} * * <p>if the ulrPrefix is null, the return value is null * * @param urlPrefix */ public static String createProxyCallBackURl(String urlPrefix) { return createCasURl(urlPrefix, CAS_PROXY_RECEPTOR_PATTERN); }