diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/BaseWebSession.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/BaseWebSession.java index 9d1092e7a4..7966b7a517 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/BaseWebSession.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/BaseWebSession.java @@ -29,8 +29,8 @@ import org.jkiss.dbeaver.model.auth.SMAuthSpace; import org.jkiss.dbeaver.model.auth.SMSessionContext; import org.jkiss.dbeaver.model.auth.impl.AbstractSessionPersistent; import org.jkiss.dbeaver.model.meta.Property; -import org.jkiss.dbeaver.model.security.user.SMTeam; import org.jkiss.dbeaver.model.rm.RMProjectInfo; +import org.jkiss.dbeaver.model.security.user.SMTeam; import org.jkiss.dbeaver.model.websocket.event.WSEvent; import org.jkiss.dbeaver.model.websocket.event.WSEventDeleteTempFile; import org.jkiss.dbeaver.model.websocket.event.session.WSSessionExpiredEvent; diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java index 83c040b58a..fcd247fbd6 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSession.java @@ -793,7 +793,7 @@ public class WebSession extends BaseWebSession } } - public List removeAuthInfo(String providerId, boolean needResetUserState) throws DBException { + public List removeAuthInfo(String providerId) throws DBException { List oldInfo; if (providerId == null) { oldInfo = clearAuthTokens(); @@ -806,16 +806,12 @@ public class WebSession extends BaseWebSession oldInfo = List.of(); } } - if (authTokens.isEmpty() && needResetUserState) { + if (authTokens.isEmpty()) { resetUserState(); } return oldInfo; } - public List removeAuthInfo(String providerId) throws DBException { - return removeAuthInfo(providerId, true); - } - public List getContextCredentialsProviders() { return getAdapters(DBACredentialsProvider.class); } diff --git a/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/impl/WebServiceAuthImpl.java b/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/impl/WebServiceAuthImpl.java index eca555a204..e3bc630d89 100644 --- a/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/impl/WebServiceAuthImpl.java +++ b/server/bundles/io.cloudbeaver.service.auth/src/io/cloudbeaver/service/auth/impl/WebServiceAuthImpl.java @@ -224,10 +224,8 @@ public class WebServiceAuthImpl implements DBWServiceAuth { throw new DBWebException("Not logged in"); } try { - List removedInfos = webSession.removeAuthInfo(providerId, false); + List removedInfos = webSession.removeAuthInfo(providerId); var cbApp = CBApplication.getInstance(); - cbApp.getSessionManager().closeSession(webSession.getSessionId(), false); - webSession.resetUserState(); List logoutUrls = new ArrayList<>(); String origin = ServletAppUtils.getOriginFromRequest(httpRequest); @@ -268,11 +266,7 @@ public class WebServiceAuthImpl implements DBWServiceAuth { public WebUserInfo activeUser(@NotNull WebSession webSession) throws DBWebException { if (webSession.getUser() == null) { ServletApplication application = webSession.getApplication(); - if (application.getAppConfiguration().isAnonymousAccessEnabled() && webSession.isAuthorizedInSecurityManager()) { - SMUser anonymous = new SMUser("anonymous", true, null); - return new WebUserInfo(webSession, new WebUser(anonymous)); - } - if (!application.isAnonymousAccessEnabled()) { + if (!application.getAppConfiguration().isAnonymousAccessEnabled() || !webSession.isAuthorizedInSecurityManager()) { return null; } SMUser anonymous = new SMUser("anonymous", true, null);