Merge remote-tracking branch 'origin/devel' into refactor-authentication

This commit is contained in:
Wroud
2020-07-10 13:16:19 +03:00
32 changed files with 68 additions and 48 deletions
@@ -3,8 +3,8 @@ Bundle-ManifestVersion: 2
Bundle-Vendor: %Bundle-Vendor
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: io.cloudbeaver.connect.provider.sample;singleton:=true
Bundle-Version: 1.0.8.qualifier
Bundle-Release-Date: 20200706
Bundle-Version: 1.0.9.qualifier
Bundle-Release-Date: 20200720
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
@@ -10,7 +10,7 @@
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.connect.provider.sample</artifactId>
<version>1.0.8-SNAPSHOT</version>
<version>1.0.9-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
@@ -3,8 +3,8 @@ Bundle-ManifestVersion: 2
Bundle-Vendor: %Bundle-Vendor
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: io.cloudbeaver.product.ce;singleton:=true
Bundle-Version: 1.0.5.qualifier
Bundle-Release-Date: 20200706
Bundle-Version: 1.1.0.qualifier
Bundle-Release-Date: 20200720
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
@@ -10,7 +10,7 @@
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.product.ce</artifactId>
<version>1.0.5-SNAPSHOT</version>
<version>1.1.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Base JDBC drivers
Bundle-SymbolicName: io.cloudbeaver.resources.drivers.base;singleton:=true
Bundle-Version: 1.0.5.qualifier
Bundle-Release-Date: 20200706
Bundle-Version: 1.0.6.qualifier
Bundle-Release-Date: 20200720
Bundle-Vendor: DBeaver Corp
Bundle-ActivationPolicy: lazy
Automatic-Module-Name: io.cloudbeaver.resources.drivers.base
@@ -9,6 +9,6 @@
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.resources.drivers.base</artifactId>
<version>1.0.5-SNAPSHOT</version>
<version>1.0.6-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
@@ -3,8 +3,8 @@ Bundle-ManifestVersion: 2
Bundle-Vendor: %Bundle-Vendor
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: io.cloudbeaver.server;singleton:=true
Bundle-Version: 1.0.5.qualifier
Bundle-Release-Date: 20200706
Bundle-Version: 1.1.0.qualifier
Bundle-Release-Date: 20200720
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-Activator: io.cloudbeaver.server.WebPlatformActivator
+1 -1
View File
@@ -10,7 +10,7 @@
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.server</artifactId>
<version>1.0.5-SNAPSHOT</version>
<version>1.1.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
@@ -41,6 +41,9 @@ public class WebConnectionConfig {
private String userName;
private String userPassword;
private String authModelId;
private Map<String, Object> credentials;
public WebConnectionConfig() {
}
@@ -60,6 +63,9 @@ public class WebConnectionConfig {
properties = JSONUtils.getObject(params, "properties");
userName = JSONUtils.getString(params, "userName");
userPassword = JSONUtils.getString(params, "userPassword");
authModelId = JSONUtils.getString(params, "authModelId");
credentials = JSONUtils.getObject(params, "credentials");
}
@Property
@@ -122,4 +128,13 @@ public class WebConnectionConfig {
return userPassword;
}
@Property
public String getAuthModelId() {
return authModelId;
}
@Property
public Map<String, Object> getCredentials() {
return credentials;
}
}
@@ -54,7 +54,7 @@ public class WebServiceBindingCore extends WebServiceBindingBase<DBWServiceCore>
.dataFetcher("driverList", env -> getService(env).getDriverList(getWebSession(env), env.getArgument("id")))
.dataFetcher("authModels", env -> getService(env).getAuthModels(getWebSession(env)))
.dataFetcher("dataSourceList", env -> getService(env).getTemplateDataSources())
.dataFetcher("templateDataSources", env -> getService(env).getTemplateDataSources())
.dataFetcher("sessionPermissions", env -> getService(env).getSessionPermissions(getWebSession(env)))
.dataFetcher("sessionState", env -> getService(env).getSessionState(getWebSession(env)))
@@ -32,7 +32,6 @@ import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.model.DBPDataSourceContainer;
import org.jkiss.dbeaver.model.app.DBPDataSourceRegistry;
import org.jkiss.dbeaver.model.auth.DBAAuthCredentials;
import org.jkiss.dbeaver.model.connection.DBPAuthModelDescriptor;
import org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration;
import org.jkiss.dbeaver.model.connection.DBPDriver;
import org.jkiss.dbeaver.model.exec.DBCException;
@@ -194,15 +193,7 @@ public class WebServiceCore implements DBWServiceCore {
throw new DBWebException("Datasource '" + dataSourceContainer.getName() + "' is already connected");
}
if (!CommonUtils.isEmpty(authProperties)) {
DBPConnectionConfiguration configuration = dataSourceContainer.getConnectionConfiguration();
DBPAuthModelDescriptor authModelDescriptor = configuration.getAuthModelDescriptor();
DBAAuthCredentials credentials = configuration.getAuthModel().loadCredentials(dataSourceContainer, configuration);
credentials = gson.fromJson(gson.toJsonTree(authProperties), credentials.getClass());
configuration.getAuthModel().saveCredentials(dataSourceContainer, configuration, credentials);
}
initAuthProperties(dataSourceContainer, authProperties);
boolean oldSavePassword = dataSourceContainer.isSavePassword();
try {
@@ -268,6 +259,18 @@ public class WebServiceCore implements DBWServiceCore {
return true;
}
private void initAuthProperties(DBPDataSourceContainer dataSourceContainer, Map<String, Object> authProperties) {
if (!CommonUtils.isEmpty(authProperties)) {
DBPConnectionConfiguration configuration = dataSourceContainer.getConnectionConfiguration();
//DBPAuthModelDescriptor authModelDescriptor = configuration.getAuthModelDescriptor();
DBAAuthCredentials credentials = configuration.getAuthModel().loadCredentials(dataSourceContainer, configuration);
credentials = gson.fromJson(gson.toJsonTree(authProperties), credentials.getClass());
configuration.getAuthModel().saveCredentials(dataSourceContainer, configuration, credentials);
}
}
@NotNull
private WebConnectionInfo closeAndDeleteConnection(WebSession webSession, String connectionId, boolean forceDelete) throws DBWebException {
WebConnectionInfo connectionInfo = webSession.getWebConnectionInfo(connectionId);
@@ -342,6 +345,8 @@ public class WebServiceCore implements DBWServiceCore {
navSettings.setShowSystemObjects(false);
((DataSourceDescriptor)newDataSource).setNavigatorSettings(navSettings);
initAuthProperties(newDataSource, config.getCredentials());
return newDataSource;
}
@@ -3,8 +3,8 @@ Bundle-ManifestVersion: 2
Bundle-Vendor: %Bundle-Vendor
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: io.cloudbeaver.service.admin;singleton:=true
Bundle-Version: 1.0.4.qualifier
Bundle-Release-Date: 20200706
Bundle-Version: 1.0.5.qualifier
Bundle-Release-Date: 20200720
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
@@ -10,7 +10,7 @@
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.service.admin</artifactId>
<version>1.0.4-SNAPSHOT</version>
<version>1.0.5-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
@@ -3,8 +3,8 @@ Bundle-ManifestVersion: 2
Bundle-Vendor: %Bundle-Vendor
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: io.cloudbeaver.service.auth;singleton:=true
Bundle-Version: 1.0.4.qualifier
Bundle-Release-Date: 20200706
Bundle-Version: 1.0.5.qualifier
Bundle-Release-Date: 20200720
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
@@ -10,7 +10,7 @@
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.service.auth</artifactId>
<version>1.0.4-SNAPSHOT</version>
<version>1.0.5-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
@@ -3,8 +3,8 @@ Bundle-ManifestVersion: 2
Bundle-Vendor: %Bundle-Vendor
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: io.cloudbeaver.service.data.transfer;singleton:=true
Bundle-Version: 1.0.5.qualifier
Bundle-Release-Date: 20200706
Bundle-Version: 1.0.6.qualifier
Bundle-Release-Date: 20200720
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
@@ -10,7 +10,7 @@
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.service.data.transfer</artifactId>
<version>1.0.5-SNAPSHOT</version>
<version>1.0.6-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
@@ -3,8 +3,8 @@ Bundle-ManifestVersion: 2
Bundle-Vendor: %Bundle-Vendor
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: io.cloudbeaver.service.metadata;singleton:=true
Bundle-Version: 1.0.8.qualifier
Bundle-Release-Date: 20200706
Bundle-Version: 1.0.9.qualifier
Bundle-Release-Date: 20200720
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
@@ -10,7 +10,7 @@
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.service.metadata</artifactId>
<version>1.0.8-SNAPSHOT</version>
<version>1.0.9-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
@@ -2,7 +2,7 @@
<feature
id="io.cloudbeaver.ce.drivers.feature"
label="Cloudbeaver CE 3rd Party Drivers"
version="1.0.28.qualifier"
version="1.0.29.qualifier"
provider-name="DBeaver Corp">
<plugin id="io.cloudbeaver.resources.drivers.base" download-size="0" install-size="0" version="0.0.0"/>
@@ -9,6 +9,6 @@
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.ce.drivers.feature</artifactId>
<version>1.0.28-SNAPSHOT</version>
<version>1.0.29-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
@@ -2,7 +2,7 @@
<feature
id="io.cloudbeaver.product.ce.feature"
label="%featureName"
version="1.0.5.qualifier"
version="1.1.0.qualifier"
provider-name="%providerName"
plugin="io.cloudbeaver.product.ce">
@@ -10,7 +10,7 @@
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.product.ce.feature</artifactId>
<version>1.0.5-SNAPSHOT</version>
<version>1.1.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<build>
@@ -2,7 +2,7 @@
<feature
id="io.cloudbeaver.sample.feature"
label="%featureName"
version="1.0.8.qualifier"
version="1.0.9.qualifier"
provider-name="%providerName">
<description>
@@ -9,6 +9,6 @@
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.sample.feature</artifactId>
<version>1.0.8-SNAPSHOT</version>
<version>1.0.9-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
@@ -2,7 +2,7 @@
<feature
id="io.cloudbeaver.server.feature"
label="%featureName"
version="1.0.5.qualifier"
version="1.1.0.qualifier"
provider-name="%providerName"
plugin="io.cloudbeaver.server">
@@ -10,6 +10,6 @@
<relativePath>../</relativePath>
</parent>
<artifactId>io.cloudbeaver.server.feature</artifactId>
<version>1.0.5-SNAPSHOT</version>
<version>1.1.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
+1 -1
View File
@@ -19,7 +19,7 @@
<properties>
<dbeaver-product>CloudBeaver CE</dbeaver-product>
<dbeaver-version>1.0.5</dbeaver-version>
<dbeaver-version>1.1.0</dbeaver-version>
</properties>
<modules>
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
<product name="Cloudbeaver Provided Sample" uid="io.cloudbeaver.provided.sample.product" id="io.cloudbeaver.provided.sample.product" application="io.cloudbeaver.server.standalone" version="1.0.5.qualifier" useFeatures="true" includeLaunchers="false">
<product name="Cloudbeaver Provided Sample" uid="io.cloudbeaver.provided.sample.product" id="io.cloudbeaver.provided.sample.product" application="io.cloudbeaver.server.standalone" version="1.1.0.qualifier" useFeatures="true" includeLaunchers="false">
<configIni use="default">
</configIni>
+1 -1
View File
@@ -9,7 +9,7 @@
<version>1.0.0-SNAPSHOT</version>
<relativePath>../../</relativePath>
</parent>
<version>1.0.5-SNAPSHOT</version>
<version>1.1.0-SNAPSHOT</version>
<artifactId>provided-sample</artifactId>
<packaging>eclipse-repository</packaging>
<name>Cloudbeaver Provided Sample Product</name>
@@ -2,7 +2,7 @@
<?pde version="3.5"?>
<product name="CloudBeaver ce Server" uid="io.cloudbeaver.product" id="io.cloudbeaver.product.ce.product"
application="io.cloudbeaver.product.ce.application" version="1.0.5.qualifier" useFeatures="true"
application="io.cloudbeaver.product.ce.application" version="1.1.0.qualifier" useFeatures="true"
includeLaunchers="false">
<configIni use="default">
+1 -1
View File
@@ -9,7 +9,7 @@
<version>1.0.0-SNAPSHOT</version>
<relativePath>../../</relativePath>
</parent>
<version>1.0.5-SNAPSHOT</version>
<version>1.1.0-SNAPSHOT</version>
<artifactId>web-server</artifactId>
<packaging>eclipse-repository</packaging>
<name>Cloudbeaver Server Product</name>