CB-2396 validate anonymous access in app configuration

This commit is contained in:
yagudin10
2022-08-15 13:22:06 +03:00
parent 95c54085fe
commit c54aa4ae68
2 changed files with 10 additions and 1 deletions
@@ -18,7 +18,6 @@ package io.cloudbeaver.model.app;
import io.cloudbeaver.model.log.SLF4JLogHandler;
import io.cloudbeaver.model.rm.local.LocalResourceController;
import io.cloudbeaver.model.session.WebSession;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.runtime.Platform;
import org.eclipse.equinox.app.IApplicationContext;
@@ -113,6 +112,8 @@ public abstract class BaseWebApplication extends BaseApplicationImpl implements
protected abstract void loadConfiguration(String configPath) throws DBException;
protected abstract void validateConfiguration(Map<String, Object> appConfig) throws DBException;
@Override
public VirtualProjectImpl createProjectImpl(
@NotNull RMProject project,
@@ -546,7 +546,9 @@ public class CBApplication extends BaseWebApplication implements WebAuthApplicat
// App config
Map<String, Object> appConfig = JSONUtils.getObject(configProps, "app");
validateConfiguration(appConfig);
gson.fromJson(gson.toJsonTree(appConfig), CBAppConfig.class);
databaseConfiguration.putAll(JSONUtils.getObject(serverConfig, CBConstants.PARAM_DB_CONFIGURATION));
readProductConfiguration(serverConfig, gson, homeFolder);
@@ -587,6 +589,11 @@ public class CBApplication extends BaseWebApplication implements WebAuthApplicat
patchConfigurationWithProperties(productConfiguration);
}
@Override
protected void validateConfiguration(Map<String, Object> appConfig) throws DBException {
}
protected void readProductConfiguration(Map<String, Object> serverConfig, Gson gson, String homeFolder) throws DBException {
String productConfigPath = WebAppUtils.getRelativePath(
JSONUtils.getString(
@@ -820,6 +827,7 @@ public class CBApplication extends BaseWebApplication implements WebAuthApplicat
throw new DBException("Invalid server configuration, server name cannot be empty");
}
Map<String, Object> configurationProperties = collectConfigurationProperties(newServerName, newServerURL, sessionExpireTime, appConfig);
validateConfiguration(configurationProperties);
writeRuntimeConfig(configurationProperties);
}