public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { super.initializeFromConfig(config); }
/** Loads the filter for the named config from persistence. */ public GeoServerSecurityFilter load(String name) throws IOException { SecurityNamedServiceConfig config = loadConfig(name); if (config == null) { // no such config return null; } // look up the service for this config GeoServerSecurityFilter filter = null; for (GeoServerSecurityProvider p : lookupSecurityProviders()) { if (p.getFilterClass() == null) { continue; } if (p.getFilterClass().getName().equals(config.getClassName())) { filter = p.createFilter(config); break; } } if (filter == null) { throw new IOException("No authentication provider matching config: " + config); } filter.setName(name); filter.setSecurityManager(GeoServerSecurityManager.this); filter.initializeFromConfig(config); return filter; }
/** * Tries to authenticate from cache if a key can be derived and the {@link Authentication} * object is not in the cache, the key will be returned. * * <p>A not <code>null</code> return value indicates a missing cache entry * * @param filter * @param request */ protected String authenticateFromCache( AuthenticationCachingFilter filter, HttpServletRequest request) { Authentication authFromCache = null; String cacheKey = null; if (SecurityContextHolder.getContext().getAuthentication() == null) { cacheKey = filter.getCacheKey(request); if (cacheKey != null) { authFromCache = getSecurityManager().getAuthenticationCache().get(getName(), cacheKey); if (authFromCache != null) SecurityContextHolder.getContext().setAuthentication(authFromCache); else return cacheKey; } } return null; }
GeoServerSecurityFilter authFilter = getSecurityManager().loadFilter(authConfig.getAuthenticationFilterName()); ep.setEntryEntryPoint(authFilter.getAuthenticationEntryPoint());
@Override public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { super.initializeFromConfig(config); SSLFilterConfig sslConfig = (SSLFilterConfig) config; sslPort = sslConfig.getSslPort(); }
@Override public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { super.initializeFromConfig(config); aep = new Http403ForbiddenEntryPoint(); }
@Override public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { super.initializeFromConfig(config); RoleFilterConfig roleConfig = (RoleFilterConfig) config; headerAttribute = roleConfig.getHttpResponseHeaderAttrForIncludedRoles(); // TODO, Justin, is this ok ? String converterName = roleConfig.getRoleConverterName(); if (converterName == null || converterName.length() == 0) converter = GeoServerExtensions.bean(GeoServerRoleConverter.class); else converter = (GeoServerRoleConverter) GeoServerExtensions.bean(converterName); }
@Override public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { super.initializeFromConfig(config); aep = new Http403ForbiddenEntryPoint(); CredentialsFromRequestHeaderFilterConfig authConfig = (CredentialsFromRequestHeaderFilterConfig) config; userNameHeaderName = authConfig.getUserNameHeaderName(); passwordHeaderName = authConfig.getPasswordHeaderName(); userNameRegex = Pattern.compile(authConfig.getUserNameRegex()); passwordRegex = Pattern.compile(authConfig.getPasswordRegex()); decodeURI = authConfig.isParseAsUriComponents(); // digest used to create a cacheKey containing the user password try { digest = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { throw new IllegalStateException("No MD5 algorithm available!"); } }
@Override public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { super.initializeFromConfig(config); logoutHandler = new SecurityContextLogoutHandler(); redirectUrl = ((LogoutFilterConfig) config).getRedirectURL(); logoutSuccessHandler = new SimpleUrlLogoutSuccessHandler(); if (StringUtils.hasLength(redirectUrl)) logoutSuccessHandler.setDefaultTargetUrl(redirectUrl); String formLogoutChain = (((LogoutFilterConfig) config).getFormLogoutChain() != null ? ((LogoutFilterConfig) config).getFormLogoutChain() : GeoServerSecurityFilterChain.FORM_LOGOUT_CHAIN); pathInfos = formLogoutChain.split(","); }
@Override public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { LOG.log(Level.FINER, "GeoServerKeycloakFilter.initializeFromConfig ENTRY"); super.initializeFromConfig(config); GeoServerKeycloakFilterConfig keycloakConfig = (GeoServerKeycloakFilterConfig) config; KeycloakDeployment deployment = KeycloakDeploymentBuilder.build(keycloakConfig.readAdapterConfig()); this.keycloakContext = new AdapterDeploymentContext(deployment); }