/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.security.filter; import org.geoserver.config.util.XStreamPersister; import org.geoserver.security.GeoServerSecurityManager; import org.geoserver.security.config.CredentialsFromRequestHeaderFilterConfig; import org.geoserver.security.config.SecurityNamedServiceConfig; import org.geoserver.security.validation.CredentialsFromRequestHeaderFilterConfigValidator; import org.geoserver.security.validation.SecurityConfigValidator; /** * Security provider to extract user credentials (username and password) * from Request Headers in a configurable way. * * @author Lorenzo Natali, GeoSolutions * @author Mauro Bartolomeoli, GeoSolutions * */ public class GeoServerCredentialsFromRequestHeaderProvider extends AbstractFilterProvider { @Override public void configure(XStreamPersister xp) { super.configure(xp); xp.getXStream().alias("credentialsFromRequestHeaderAuthentication", CredentialsFromRequestHeaderFilterConfig.class); } @Override public Class<? extends GeoServerSecurityFilter> getFilterClass() { return GeoServerCredentialsFromRequestHeaderFilter.class; } @Override public GeoServerSecurityFilter createFilter(SecurityNamedServiceConfig config) { return new GeoServerCredentialsFromRequestHeaderFilter(); } @Override public SecurityConfigValidator createConfigurationValidator( GeoServerSecurityManager securityManager) { return new CredentialsFromRequestHeaderFilterConfigValidator(securityManager); } }