@Override public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { super.initializeFromConfig(config); RequestHeaderAuthenticationFilterConfig authConfig = (RequestHeaderAuthenticationFilterConfig) config; setPrincipalHeaderAttribute(authConfig.getPrincipalHeaderAttribute()); }
new RequestHeaderAuthenticationFilterConfig(); config.setClassName(GeoServerRequestHeaderAuthenticationFilter.class.getName()); config.setName(testFilterName4); config.setRoleServiceName("rs1"); config.setPrincipalHeaderAttribute("principal"); config.setRoleSource(PreAuthenticatedUserNameRoleSource.RoleService); config.setUserGroupServiceName("ug1"); config.setPrincipalHeaderAttribute("principal"); config.setRolesHeaderAttribute("roles"); config.setRoleSource(rs); getSecurityManager().saveFilter(config); request = createRequest("/foo/bar"); config.setRoleSource(rs); getSecurityManager().saveFilter(config); config.setRoleSource(rs); request = createRequest("/foo/bar"); response = new MockHttpServletResponse(); config.setRoleSource(PreAuthenticatedUserNameRoleSource.UserGroupService); getSecurityManager().saveFilter(config); request = createRequest("/foo/bar");
@Test public void testRequestHeaderFilterConfigValidation() throws Exception { RequestHeaderAuthenticationFilterConfig config = new RequestHeaderAuthenticationFilterConfig(); config.setClassName(GeoServerRequestHeaderAuthenticationFilter.class.getName()); config.setName("testRequestHeader"); FilterConfigValidator validator = new FilterConfigValidator(getSecurityManager()); try { validator.validateFilterConfig(config); fail("no principal header attribute should fail"); } catch (FilterConfigException ex) { assertEquals(FilterConfigException.PRINCIPAL_HEADER_ATTRIBUTE_NEEDED, ex.getId()); assertEquals(0, ex.getArgs().length); } config.setPrincipalHeaderAttribute("user"); check((PreAuthenticatedUserNameFilterConfig) config); } }
new RequestHeaderAuthenticationFilterConfig(); config.setClassName(GeoServerRequestHeaderAuthenticationFilter.class.getName()); config.setName(testFilterName4); config.setRoleServiceName("rs1"); config.setPrincipalHeaderAttribute("principal"); config.setRoleSource(PreAuthenticatedUserNameRoleSource.RoleService); config.setUserGroupServiceName("ug1"); config.setPrincipalHeaderAttribute("principal"); config.setRolesHeaderAttribute("roles"); getCache().removeAll(); config.setRoleSource(rs); getSecurityManager().saveFilter(config); request = createRequest("/foo/bar"); config.setRoleSource(rs); getSecurityManager().saveFilter(config); config.setRoleSource(rs); request = createRequest("/foo/bar"); response = new MockHttpServletResponse(); config.setRoleSource(PreAuthenticatedUserNameRoleSource.UserGroupService);
public void validateFilterConfig(RequestHeaderAuthenticationFilterConfig config) throws FilterConfigException { if (isNotEmpty(config.getPrincipalHeaderAttribute()) == false) throw createFilterException(FilterConfigException.PRINCIPAL_HEADER_ATTRIBUTE_NEEDED); validateFilterConfig((PreAuthenticatedUserNameFilterConfig) config); }