/* (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.validation; import org.geoserver.security.GeoServerSecurityManager; import org.geoserver.security.config.CredentialsFromRequestHeaderFilterConfig; import org.geoserver.security.config.SecurityNamedServiceConfig; /** * Validates {@link CredentialsFromRequestHeaderFilterConfig} objects. * * @author Lorenzo Natali, GeoSolutions * @author Mauro Bartolomeoli, GeoSolutions * */ public class CredentialsFromRequestHeaderFilterConfigValidator extends FilterConfigValidator { public CredentialsFromRequestHeaderFilterConfigValidator( GeoServerSecurityManager securityManager) { super(securityManager); } public void validateFilterConfig(SecurityNamedServiceConfig config) throws FilterConfigException { if (config instanceof CredentialsFromRequestHeaderFilterConfig) validateFilterConfig((CredentialsFromRequestHeaderFilterConfig) config); else super.validateFilterConfig(config); } public void validateFilterConfig(CredentialsFromRequestHeaderFilterConfig config) throws FilterConfigException { if (config.getUserNameHeaderName() == null || "".equals(config.getUserNameHeaderName())) { throw new CredentialsFromRequestHeaderFilterConfigException( CredentialsFromRequestHeaderFilterConfigException.USERNAME_HEADER_REQUIRED, null); } if (config.getUserNameRegex() == null || "".equals(config.getUserNameRegex())) { throw new CredentialsFromRequestHeaderFilterConfigException( CredentialsFromRequestHeaderFilterConfigException.USERNAME_REGEX_REQUIRED, null); } if (config.getPasswordHeaderName() == null || "".equals(config.getPasswordHeaderName())) { throw new CredentialsFromRequestHeaderFilterConfigException( CredentialsFromRequestHeaderFilterConfigException.PASSWORD_HEADER_REQUIRED, null); } if (config.getPasswordRegex() == null || "".equals(config.getPasswordRegex())) { throw new CredentialsFromRequestHeaderFilterConfigException( CredentialsFromRequestHeaderFilterConfigException.PASSWORD_REGEX_REQUIRED, null); } } }