/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.security.filter; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import org.geoserver.security.config.RequestHeaderAuthenticationFilterConfig; import org.geoserver.security.config.SecurityNamedServiceConfig; /** * J2EE Authentication Filter * * @author mcr * */ public class GeoServerRequestHeaderAuthenticationFilter extends GeoServerPreAuthenticatedUserNameFilter { private String principalHeaderAttribute; public String getPrincipalHeaderAttribute() { return principalHeaderAttribute; } public void setPrincipalHeaderAttribute(String principalHeaderAttribute) { this.principalHeaderAttribute = principalHeaderAttribute; } @Override public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { super.initializeFromConfig(config); RequestHeaderAuthenticationFilterConfig authConfig = (RequestHeaderAuthenticationFilterConfig) config; setPrincipalHeaderAttribute(authConfig.getPrincipalHeaderAttribute()); } @Override protected String getPreAuthenticatedPrincipalName(HttpServletRequest request) { return request.getHeader(getPrincipalHeaderAttribute()); } }