/** * Reads a property file. * * <p>This method delegates to {@link #loadUniversal(InputStream)}. */ public static Properties loadPropertyFile(File f) throws IOException { FileInputStream fin = new FileInputStream(f); try { return loadUniversal(fin); } finally { fin.close(); } }
/** * Try to get a lock * * @throws IOException */ public void writeLock() throws IOException { if (hasWriteLock()) return; // already locked if (Resources.exists(lockFile)) { LOGGER.warning("Cannot obtain lock: " + lockFile.path()); Properties props = new Properties(); try (InputStream in = lockFile.in()) { props.load(in); } throw new IOException(Util.convertPropsToString(props, "Already locked")); } else { // success writeLockFileContent(lockFile); lockFileLastModified = lockFile.lastmodified(); LOGGER.info("Successful lock: " + lockFile.path()); } }
Node userNode = userNodes.item(i); boolean userEnabled = Util.convertToBoolean( xmlXPath.getUserEnabledExpression().evaluate(userNode), true); String userPassword = null; String groupName = xmlXPath.getGroupNameExpression().evaluate(groupNode); boolean groupEnabled = Util.convertToBoolean( xmlXPath.getGroupEnabledExpression().evaluate(groupNode), true); GeoServerUserGroup group = createGroupObject(groupName, groupEnabled);
@Override public void doSave(T config) throws Exception { getSecurityManager().saveUserGroupService(config); if (recodeCheckBox.getModelObject()) { GeoServerUserGroupService s = getSecurityManager().loadUserGroupService(config.getName()); if (s.canCreateStore()) { Util.recodePasswords(s.createStore()); } } }
protected void copyFrom(GeoServerUserGroupService service1, GeoServerUserGroupService service2) throws Exception { GeoServerUserGroupStore store1 = createStore(service1); GeoServerUserGroupStore store2 = createStore(service2); store1.clear(); checkEmpty(store1); insertValues(store1); Util.copyFrom(store1, store2); store1.clear(); checkEmpty(store1); checkValuesInserted(store2); store2.clear(); checkEmpty(store2); }
Resource propFile = security().get("users.properties"); Properties userprops = null; if (propFile.getType() == Type.RESOURCE) userprops = Util.loadPropertyFile(propFile); mpProvider.setMasterPassword(extractMasterPasswordForMigration(userprops)); if (usersFile.getType() == Type.RESOURCE) { Properties props = Util.loadPropertyFile(usersFile); Properties props = Util.loadPropertyFile(serviceFile); for (Entry<Object, Object> entry : props.entrySet()) { StringTokenizer tokenizer = new StringTokenizer((String) entry.getValue(), ","); Properties props = Util.loadPropertyFile(dataFile); for (Entry<Object, Object> entry : props.entrySet()) { if ("mode".equals(entry.getKey().toString())) continue; // skip mode directive
@Override public void doSave(T config) throws Exception { getSecurityManager().saveUserGroupService(config); if (recodeCheckBox.getModelObject()) { GeoServerUserGroupService s = getSecurityManager().loadUserGroupService(config.getName()); if (s.canCreateStore()) { Util.recodePasswords(s.createStore()); } } }
@Test public void testCopyFrom() throws Exception { GeoServerRoleService service1 = createRoleService("copyFrom"); GeoServerRoleService service2 = createRoleService("copyTo"); GeoServerRoleStore store1 = createStore(service1); GeoServerRoleStore store2 = createStore(service2); store1.clear(); checkEmpty(store1); insertValues(store1); Util.copyFrom(store1, store2); store1.clear(); checkEmpty(store1); checkValuesInserted(store2); }
/** * Reads a property file resource. * * <p>This method delegates to {@link #loadUniversal(InputStream)}. */ public static Properties loadPropertyFile(Resource f) throws IOException { try (InputStream in = f.in()) { return loadUniversal(in); } }
@Override public void doSave(T config) throws Exception { getSecurityManager().saveUserGroupService(config); if (recodeCheckBox.getModelObject()) { GeoServerUserGroupService s = getSecurityManager().loadUserGroupService(config.getName()); if (s.canCreateStore()) { Util.recodePasswords(s.createStore()); } } }
@Test public void testCopyFrom() throws Exception { GeoServerUserGroupService service1 = createUserGroupService("copyFrom"); GeoServerUserGroupService service2 = createUserGroupService("copyTo"); GeoServerUserGroupStore store1 = createStore(service1); GeoServerUserGroupStore store2 = createStore(service2); store1.clear(); checkEmpty(store1); insertValues(store1); Util.copyFrom(store1, store2); store1.clear(); checkEmpty(store1); checkValuesInserted(store2); }
/** * Uses {@link #initializeDSFromConfig(SecurityNamedServiceConfig)} * and {@link #checkORCreateJDBCPropertyFile(String, File, String)} * * @see org.geoserver.security.GeoServerRoleService#initializeFromConfig(org.geoserver.security.config.SecurityNamedServiceConfig) */ @Override public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { this.name=config.getName(); initializeDSFromConfig(config); if (config instanceof JDBCSecurityServiceConfig) { JDBCSecurityServiceConfig jdbcConfig = (JDBCSecurityServiceConfig) config; String fileNameDML =jdbcConfig.getPropertyFileNameDML(); File file = checkORCreateJDBCPropertyFile(fileNameDML,getConfigRoot(),DEFAULT_DML_FILE); dmlProps = Util.loadUniversal(new FileInputStream(file)); String fileNameDDL =jdbcConfig.getPropertyFileNameDDL(); if (fileNameDDL!=null && fileNameDDL.length()> 0 ) { file = checkORCreateJDBCPropertyFile(fileNameDDL, getConfigRoot(), DEFAULT_DDL_FILE); ddlProps = Util.loadUniversal(new FileInputStream(file)); createTablesIfRequired((JDBCSecurityServiceConfig)config); } } this.adminRoleName=((SecurityRoleServiceConfig)config).getAdminRoleName(); this.groupAdminRoleName=((SecurityRoleServiceConfig)config).getGroupAdminRoleName(); }
store.store(); Util.recodePasswords(service.createStore()); service.initializeFromConfig(config); Util.recodePasswords(service.createStore()); service.initializeFromConfig(config); Util.recodePasswords(service.createStore()); service.initializeFromConfig(config); Util.recodePasswords(service.createStore()); service.initializeFromConfig(config); Util.recodePasswords(service.createStore()); service.initializeFromConfig(config); Util.recodePasswords(service.createStore());
props = Util.loadUniversal(new FileInputStream(fixture)); } catch (IOException e1) {
props = Util.loadUniversal(new FileInputStream(fixture)); } catch (IOException e1) {
static protected GeoServerRoleService createRoleService( String fixtureId, LiveDbmsDataSecurity data, GeoServerSecurityManager securityManager) throws Exception { JDBCRoleServiceConfig config = new JDBCRoleServiceConfig(); Properties props=Util.loadUniversal(new FileInputStream(data.getFixture())); config.setName(fixtureId); config.setConnectURL(props.getProperty("url")); config.setDriverClassName(props.getProperty("driver")); config.setUserName(props.getProperty("user") == null ? props.getProperty("username") : props.getProperty("user")); config.setPassword(props.getProperty("password")); config.setClassName(JDBCRoleService.class.getName()); config.setCreatingTables(false); if ("mysql".equals(fixtureId)) { config.setPropertyFileNameDDL("rolesddl.mysql.xml"); } else { config.setPropertyFileNameDDL(JDBCRoleService.DEFAULT_DDL_FILE); } config.setPropertyFileNameDML(JDBCRoleService.DEFAULT_DML_FILE); securityManager.saveRoleService(config); return securityManager.loadRoleService(fixtureId); }
protected static GeoServerRoleService createRoleService( String fixtureId, LiveDbmsDataSecurity data, GeoServerSecurityManager securityManager) throws Exception { JDBCRoleServiceConfig config = new JDBCRoleServiceConfig(); Properties props = Util.loadUniversal(new FileInputStream(data.getFixture())); config.setName(fixtureId); config.setConnectURL(props.getProperty("url")); config.setDriverClassName(props.getProperty("driver")); config.setUserName( props.getProperty("user") == null ? props.getProperty("username") : props.getProperty("user")); config.setPassword(props.getProperty("password")); config.setClassName(JDBCRoleService.class.getName()); config.setCreatingTables(false); if ("h2".equals(fixtureId)) { config.setPropertyFileNameDDL("rolesddl.h2.xml"); } else if ("postgis".equals(fixtureId)) { config.setPropertyFileNameDDL("rolesddl.postgis.xml"); } else if ("mysql".equals(fixtureId)) { config.setPropertyFileNameDDL("rolesddl.mysql.xml"); } else { config.setPropertyFileNameDDL(JDBCRoleService.DEFAULT_DDL_FILE); } config.setPropertyFileNameDML(JDBCRoleService.DEFAULT_DML_FILE); securityManager.saveRoleService(config); return securityManager.loadRoleService(fixtureId); }
static protected JDBCUserGroupServiceConfig createConfigObject(String fixtureId,LiveDbmsDataSecurity data,GeoServerSecurityManager securityManager) throws Exception { JDBCUserGroupServiceConfig config = new JDBCUserGroupServiceConfig(); Properties props=Util.loadUniversal(new FileInputStream(data.getFixture())); config.setName(fixtureId); config.setConnectURL(props.getProperty("url")); config.setDriverClassName(props.getProperty("driver")); config.setUserName(props.getProperty("user")== null ? props.getProperty("username"): props.getProperty("user")); config.setPassword(props.getProperty("password")); config.setClassName(JDBCUserGroupService.class.getName()); config.setCreatingTables(false); config.setPasswordEncoderName( securityManager.loadPasswordEncoder(GeoServerDigestPasswordEncoder.class).getName()); config.setPasswordPolicyName(PasswordValidator.DEFAULT_NAME); if ("mysql".equals(fixtureId)) { config.setPropertyFileNameDDL("usersddl.mysql.xml"); } else { config.setPropertyFileNameDDL(JDBCUserGroupService.DEFAULT_DDL_FILE); } config.setPropertyFileNameDML(JDBCUserGroupService.DEFAULT_DML_FILE); return config; } static protected GeoServerUserGroupService createUserGroupService(String fixtureId,
dmlProps = Util.loadUniversal(new FileInputStream(file)); ddlProps = Util.loadUniversal(new FileInputStream(file)); createTablesIfRequired((JDBCSecurityServiceConfig)config);
protected static JDBCUserGroupServiceConfig createConfigObject( String fixtureId, LiveDbmsDataSecurity data, GeoServerSecurityManager securityManager) throws Exception { JDBCUserGroupServiceConfig config = new JDBCUserGroupServiceConfig(); Properties props = Util.loadUniversal(new FileInputStream(data.getFixture())); config.setName(fixtureId); config.setConnectURL(props.getProperty("url")); config.setDriverClassName(props.getProperty("driver")); config.setUserName( props.getProperty("user") == null ? props.getProperty("username") : props.getProperty("user")); config.setPassword(props.getProperty("password")); config.setClassName(JDBCUserGroupService.class.getName()); config.setCreatingTables(false); config.setPasswordEncoderName( securityManager .loadPasswordEncoder(GeoServerDigestPasswordEncoder.class) .getName()); config.setPasswordPolicyName(PasswordValidator.DEFAULT_NAME); if ("mysql".equals(fixtureId)) { config.setPropertyFileNameDDL("usersddl.mysql.xml"); } else { config.setPropertyFileNameDDL(JDBCUserGroupService.DEFAULT_DDL_FILE); } config.setPropertyFileNameDML(JDBCUserGroupService.DEFAULT_DML_FILE); return config; }