From 2493676013bbf754063c2f0e2dfbe084e4176710 Mon Sep 17 00:00:00 2001 From: Aleksandr Skoblikov Date: Mon, 17 Oct 2022 18:38:39 +0200 Subject: [PATCH] CB-2571 fix auth role context --- .../model/session/WebSessionAuthProcessor.java | 2 +- .../service/security/CBEmbeddedSecurityController.java | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionAuthProcessor.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionAuthProcessor.java index 350d1f11e8..d8eeedb840 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionAuthProcessor.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionAuthProcessor.java @@ -161,7 +161,7 @@ public class WebSessionAuthProcessor { providerConfig, authAttrs); - if (!configMode && securityController.getUserPermissions(userId, authInfo.getAuthRole()).isEmpty()) { + if (!configMode && securityController.getUserPermissions(userId).isEmpty()) { throw new DBWebException("Access denied (no permissions)"); } if (!configMode && !securityController.getUserById(userId).isEnabled()) { diff --git a/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/CBEmbeddedSecurityController.java b/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/CBEmbeddedSecurityController.java index 8a8dfdbe2f..3898fcdf02 100644 --- a/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/CBEmbeddedSecurityController.java +++ b/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/CBEmbeddedSecurityController.java @@ -821,7 +821,7 @@ public class CBEmbeddedSecurityController implements SMAdminController, SMAuthen @NotNull @Override - public Set getUserPermissions(String userId, String authRole) throws DBException { + public Set getUserPermissions(String userId) throws DBException { try (Connection dbCon = database.openConnection()) { Set permissions = new HashSet<>(); try (PreparedStatement dbStat = dbCon.prepareStatement( @@ -849,6 +849,10 @@ public class CBEmbeddedSecurityController implements SMAdminController, SMAuthen } } + protected Set getUserPermissions(String userId, String authRole) throws DBException { + return getUserPermissions(userId); + } + /////////////////////////////////////////// // Sessions @@ -1547,7 +1551,7 @@ public class CBEmbeddedSecurityController implements SMAdminController, SMAuthen } catch (SQLException e) { throw new DBCException("Error reading token info in database", e); } - var permissions = userId == null ? getAnonymousUserPermissions() : getUserPermissions(userId, authRole); + var permissions = userId == null ? getAnonymousUserPermissions() : getUserPermissions(userId); return new SMAuthPermissions(userId, sessionId, permissions); }