CB-139 Local user login fix (workaround)

This commit is contained in:
Serge Rider
2020-06-01 20:28:13 +03:00
parent a2752f0c9f
commit 516fd3587a
2 changed files with 10 additions and 0 deletions
@@ -110,4 +110,8 @@ public class WebAuthProviderDescriptor extends AbstractDescriptor {
return instance;
}
@Override
public String toString() {
return getId();
}
}
@@ -17,6 +17,7 @@
package io.cloudbeaver.service.admin.impl;
import io.cloudbeaver.DBWebException;
import io.cloudbeaver.auth.provider.local.LocalAuthProvider;
import io.cloudbeaver.model.session.WebSession;
import io.cloudbeaver.model.user.WebRole;
import io.cloudbeaver.model.user.WebUser;
@@ -207,6 +208,11 @@ public class WebServiceAdmin implements DBWServiceAdmin {
if (authProvider == null) {
throw new DBWebException("Invalid auth provider '" + providerId + "'");
}
// Check userId credential.
// FIXME: It is actually a hack. All crdentials must be passed from client
if (LocalAuthProvider.PROVIDER_ID.equals(providerId)) {
credentials.put(LocalAuthProvider.CRED_USER, userID);
}
try {
CBPlatform.getInstance().getApplication().getSecurityController().setUserCredentials(userID, authProvider, credentials);
return true;