@Test public void testActive() throws Exception { GeoServerSecurityManager secMgr = getSecurityManager(); UsernamePasswordAuthenticationProviderConfig config = new UsernamePasswordAuthenticationProviderConfig(); config.setName("custom"); config.setClassName(AuthProvider.class.getName()); secMgr.saveAuthenticationProvider(config); SecurityManagerConfig mgrConfig = secMgr.getSecurityConfig(); mgrConfig.getAuthProviderNames().add("custom"); mgrConfig.setConfigPasswordEncrypterName(getPlainTextPasswordEncoder().getName()); secMgr.saveSecurityConfig(mgrConfig); Authentication auth = new UsernamePasswordAuthenticationToken("foo", "bar"); auth = getSecurityManager().authenticationManager().authenticate(auth); assertTrue(auth.isAuthenticated()); }
getUserGroupConfg(serviceName, getPlainTextPasswordEncoder().getName());
@Override protected XMLUserGroupServiceConfig createConfigObject(String name) { XMLUserGroupServiceConfig config = new XMLUserGroupServiceConfig(); config.setName(name); config.setPasswordEncoderName(getPBEPasswordEncoder().getName()); config.setPasswordPolicyName(PasswordValidator.DEFAULT_NAME); config.setClassName(XMLUserGroupService.class.getName()); config.setCheckInterval(1000); config.setFileName("users.xml"); config.setValidating(true); config.setPasswordEncoderName(getPlainTextPasswordEncoder().getName()); config.setPasswordPolicyName(PasswordValidator.DEFAULT_NAME); return config; }
XMLUserGroupService.DEFAULT_NAME, XMLUserGroupService.class, getPlainTextPasswordEncoder().getName(), PasswordValidator.DEFAULT_NAME, XMLConstants.FILE_UR); "test1", XMLUserGroupService.class, getPlainTextPasswordEncoder().getName(), PasswordValidator.DEFAULT_NAME, "test1.xml"); "test5", XMLUserGroupService.class, getPlainTextPasswordEncoder().getName(), PasswordValidator.DEFAULT_NAME, "abc.xml"); "test4", XMLUserGroupService.class, getPlainTextPasswordEncoder().getName(), PasswordValidator.DEFAULT_NAME, invalidPath); expect(secMgr.loadPasswordEncoder(getPlainTextPasswordEncoder().getName())) .andReturn(getPlainTextPasswordEncoder()) .anyTimes(); "test2",
void setupFilterEntry(Pos pos, String relativeTo, boolean assertSecurityContext) throws Exception { GeoServerSecurityManager secMgr = getSecurityManager(); FilterConfig config = new FilterConfig(); config.setName("custom"); config.setClassName(Filter.class.getName()); config.setAssertAuth(assertSecurityContext); secMgr.saveFilter(config); SecurityManagerConfig mgrConfig = secMgr.getSecurityConfig(); mgrConfig.setConfigPasswordEncrypterName(getPlainTextPasswordEncoder().getName()); mgrConfig.getFilterChain().remove("custom"); if (pos == Pos.FIRST) mgrConfig.getFilterChain().insertFirst("/**", "custom"); if (pos == Pos.LAST) mgrConfig.getFilterChain().insertLast("/**", "custom"); if (pos == Pos.BEFORE) mgrConfig.getFilterChain().insertBefore("/**", "custom", relativeTo); if (pos == Pos.AFTER) mgrConfig.getFilterChain().insertAfter("/**", "custom", relativeTo); secMgr.saveSecurityConfig(mgrConfig); }
@Test public void testCopyFrom() throws Exception { // from crypt tp crytp GeoServerUserGroupService service1 = createUserGroupService("copyFrom"); GeoServerUserGroupService service2 = createUserGroupService("copyTo"); copyFrom(service1, service2); // from plain to plain service1 = createUserGroupService("copyFrom1", getPlainTextPasswordEncoder().getName()); service2 = createUserGroupService("copyTo1", getPlainTextPasswordEncoder().getName()); copyFrom(service1, service2); // cypt to digest service1 = createUserGroupService("copyFrom2"); service2 = createUserGroupService("copyTo2", getDigestPasswordEncoder().getName()); copyFrom(service1, service2); // digest to digest service1 = createUserGroupService("copyFrom3", getDigestPasswordEncoder().getName()); service2 = createUserGroupService("copyTo3", getDigestPasswordEncoder().getName()); copyFrom(service1, service2); // digest to crypt service1 = createUserGroupService("copyFrom4", getDigestPasswordEncoder().getName()); service2 = createUserGroupService("copyTo4"); copyFrom(service1, service2); }
config.setPasswordEncoderName(getPlainTextPasswordEncoder().getName()); getSecurityManager().saveUserGroupService(config); service.initializeFromConfig(config);
"jdbc", JDBCUserGroupService.class, getPlainTextPasswordEncoder().getName(), PasswordValidator.DEFAULT_NAME); "jdbc", JDBCUserGroupService.class, getPlainTextPasswordEncoder().getName(), PasswordValidator.DEFAULT_NAME); configJNDI.setJndi(true); expect(secMgr.loadPasswordEncoder(pwEncoder.getName())).andReturn(pwEncoder).anyTimes(); expect(secMgr.listPasswordValidators()) .andReturn(new TreeSet<String>(Arrays.asList(PasswordValidator.DEFAULT_NAME)))
XMLUserGroupService.DEFAULT_NAME, GeoServerUserGroupService.class, getPlainTextPasswordEncoder().getName(), PasswordValidator.DEFAULT_NAME)); fail("user group service already exists should fail"); "default2", GeoServerUserGroupService.class, getPlainTextPasswordEncoder().getName(), PasswordValidator.DEFAULT_NAME); try {