mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-10-12 23:37:00 +08:00
CB-1842 hotfix for external providers in easy config
This commit is contained in:
+9
-5
@@ -52,7 +52,10 @@ import org.jkiss.dbeaver.model.runtime.AbstractJob;
|
||||
import org.jkiss.dbeaver.model.runtime.BaseProgressMonitor;
|
||||
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
|
||||
import org.jkiss.dbeaver.model.runtime.ProxyProgressMonitor;
|
||||
import org.jkiss.dbeaver.model.security.*;
|
||||
import org.jkiss.dbeaver.model.security.SMConstants;
|
||||
import org.jkiss.dbeaver.model.security.SMController;
|
||||
import org.jkiss.dbeaver.model.security.SMDataSourceGrant;
|
||||
import org.jkiss.dbeaver.model.security.SMSessionType;
|
||||
import org.jkiss.dbeaver.model.sql.DBQuotaException;
|
||||
import org.jkiss.dbeaver.registry.DataSourceDescriptor;
|
||||
import org.jkiss.dbeaver.registry.DataSourceRegistry;
|
||||
@@ -747,10 +750,11 @@ public class WebSession extends AbstractSessionPersistent implements SMSession,
|
||||
}
|
||||
newUser = authInfo.getUser();
|
||||
}
|
||||
// if (this.user == null && newUser != null) {
|
||||
// forceUserRefresh(newUser);
|
||||
// } else
|
||||
if (!CommonUtils.equalObjects(this.user, newUser)) {
|
||||
if (application.isConfigurationMode() && this.user == null && newUser != null) {
|
||||
//FIXME hotfix to avoid exception after external auth provider login in easy config
|
||||
this.user = newUser;
|
||||
refreshUserData();
|
||||
} else if (!CommonUtils.equalObjects(this.user, newUser)) {
|
||||
throw new DBException("Can't authorize different users in the single session");
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -17,10 +17,6 @@
|
||||
package io.cloudbeaver.service.auth.impl;
|
||||
|
||||
import io.cloudbeaver.DBWConstants;
|
||||
import org.jkiss.dbeaver.model.auth.SMAuthInfo;
|
||||
import org.jkiss.dbeaver.model.auth.SMAuthProvider;
|
||||
import org.jkiss.dbeaver.model.auth.SMSession;
|
||||
import org.jkiss.dbeaver.model.security.SMController;
|
||||
import io.cloudbeaver.DBWUserIdentity;
|
||||
import io.cloudbeaver.DBWebException;
|
||||
import io.cloudbeaver.auth.SMAuthProviderExternal;
|
||||
@@ -40,7 +36,11 @@ import org.jkiss.code.NotNull;
|
||||
import org.jkiss.code.Nullable;
|
||||
import org.jkiss.dbeaver.DBException;
|
||||
import org.jkiss.dbeaver.Log;
|
||||
import org.jkiss.dbeaver.model.auth.SMAuthInfo;
|
||||
import org.jkiss.dbeaver.model.auth.SMAuthProvider;
|
||||
import org.jkiss.dbeaver.model.auth.SMSession;
|
||||
import org.jkiss.dbeaver.model.exec.DBCException;
|
||||
import org.jkiss.dbeaver.model.security.SMController;
|
||||
import org.jkiss.dbeaver.model.security.exception.SMException;
|
||||
import org.jkiss.dbeaver.registry.auth.AuthProviderDescriptor;
|
||||
import org.jkiss.dbeaver.registry.auth.AuthProviderRegistry;
|
||||
@@ -197,7 +197,7 @@ public class WebServiceAuthImpl implements DBWServiceAuth {
|
||||
if (user == null) {
|
||||
user = new WebUser(userId);
|
||||
}
|
||||
if (smAuthInfo == null && !webSession.isAuthorizedInSecurityManager()) {
|
||||
if (!configMode && smAuthInfo == null && !webSession.isAuthorizedInSecurityManager()) {
|
||||
throw new DBCException("No authorization in the security manager");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user