/** Additional validation, check if the file exists or can be created */ @Override public void validateAddUserGroupService(SecurityUserGroupServiceConfig config) throws SecurityConfigException { super.validateAddUserGroupService(config); XMLUserGroupServiceConfig xmlConfig = (XMLUserGroupServiceConfig) config; File file = new File(xmlConfig.getFileName()); if (checkFile(file) == false) throw createSecurityException(FILE_CREATE_FAILED_$1, file.getPath()); }
/** Saves/persists a user group service configuration. */ public void saveUserGroupService(SecurityUserGroupServiceConfig config) throws IOException, SecurityConfigException { SecurityConfigValidator validator = SecurityConfigValidator.getConfigurationValiator( GeoServerUserGroupService.class, config.getClassName()); if (config.getId() == null) { config.initBeforeSave(); validator.validateAddUserGroupService(config); } else { validator.validateModifiedUserGroupService( config, userGroupServiceHelper.loadConfig(config.getName())); } userGroupServiceHelper.saveConfig(config); // remove from cache userGroupServices.remove(config.getName()); }
config.setName("default2"); config.setPasswordEncoderName("xxx"); validator.validateAddUserGroupService(config); fail("invalid config password encoder should fail"); validator.validateAddUserGroupService(config); fail("invalid strong password encoder should fail"); config.setName("other"); config.setPasswordEncoderName("xxx"); validator.validateAddUserGroupService(config); fail("invalid config password encoder should fail"); config.setName("default2"); config.setPasswordEncoderName(""); validator.validateAddUserGroupService(config); fail("no password encoder should fail"); validator.validateAddUserGroupService(config); fail("no password encoder should fail"); } catch (SecurityConfigException ex) { config.setName("default2"); config.setPasswordPolicyName("default2"); validator.validateAddUserGroupService(config); fail("unknown password policy should fail"); config.setName("default3"); config.setPasswordPolicyName("default2");
validator.validateAddUserGroupService( createUGConfig( XMLUserGroupService.DEFAULT_NAME,