@Override public GeoServerSecurityFilter createFilter(SecurityNamedServiceConfig config) { return new GeoServerDigestAuthenticationFilter(); } }
@Override public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { super.initializeFromConfig(config); DigestAuthenticationFilterConfig authConfig = (DigestAuthenticationFilterConfig) config; aep = new DigestAuthenticationEntryPoint(); aep.setKey(config.getName()); aep.setNonceValiditySeconds( authConfig.getNonceValiditySeconds() <= 0 ? 300 : authConfig.getNonceValiditySeconds()); aep.setRealmName(GeoServerSecurityManager.REALM); try { aep.afterPropertiesSet(); } catch (Exception e) { throw new IOException(e); } DigestAuthenticationFilter filter = new DigestAuthenticationFilter(); filter.setCreateAuthenticatedToken(true); filter.setPasswordAlreadyEncoded(true); filter.setAuthenticationEntryPoint(aep); HttpDigestUserDetailsServiceWrapper wrapper = new HttpDigestUserDetailsServiceWrapper( getSecurityManager() .loadUserGroupService(authConfig.getUserGroupServiceName()), Charset.defaultCharset()); filter.setUserDetailsService(wrapper); filter.afterPropertiesSet(); getNestedFilters().add(filter); }