diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/session/WebSession.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/session/WebSession.java index 878cd839df..1a6d8130f6 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/session/WebSession.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/session/WebSession.java @@ -228,15 +228,12 @@ public class WebSession implements DBASession { } public void filterAccessibleConnections(List connections) { - if (this.hasPermission(DBWConstants.PERMISSION_ADMIN)) { - // All connections are accessible - return; - } - connections.removeIf(c -> !accessibleConnectionIds.contains(c.getId())); + connections.removeIf(c -> !isDataSourceAccessible(c.getDataSourceContainer())); } private boolean isDataSourceAccessible(DBPDataSourceContainer dataSource) { return dataSource.isExternallyProvided() || + dataSource.isTemporary() || this.hasPermission(DBWConstants.PERMISSION_ADMIN) || accessibleConnectionIds.contains(dataSource.getId()); }