@Override
public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException {
super.initializeFromConfig(config);
SecurityInterceptorFilterConfig siConfig =
(SecurityInterceptorFilterConfig) config;
FilterSecurityInterceptor filter = new FilterSecurityInterceptor();
filter.setAuthenticationManager(getSecurityManager());
List<AccessDecisionVoter> voters = new ArrayList<AccessDecisionVoter>();
RoleVoter roleVoter = new RoleVoter();
roleVoter.setRolePrefix("");
voters.add(roleVoter);
voters.add(new AuthenticatedVoter());
AffirmativeBased accessDecisionManager = new AffirmativeBased(voters);
accessDecisionManager.setAllowIfAllAbstainDecisions(siConfig.isAllowIfAllAbstainDecisions());
filter.setAccessDecisionManager(accessDecisionManager);
// TODO, Justin, is this correct
filter.setSecurityMetadataSource((FilterInvocationSecurityMetadataSource)
GeoServerExtensions.bean(siConfig.getSecurityMetadataSource()));
try {
filter.afterPropertiesSet();
} catch (Exception e) {
throw new RuntimeException(e);
}