diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/WebServiceBindingBase.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/WebServiceBindingBase.java index b4da6019fd..2fd72b5328 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/WebServiceBindingBase.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/WebServiceBindingBase.java @@ -275,6 +275,12 @@ public abstract class WebServiceBindingBase impleme if (project == null) { throw new DBException("Project not found:" + projectId); } + var customConnectionsEnabled = + ServletAppUtils.getServletApplication().getAppConfiguration().isSupportsCustomConnections(); + if (!customConnectionsEnabled && project.isPrivateProject()) { + throw new DBWebExceptionAccessDenied("Access to private project is denied"); + } + RMProject rmProject = project.getRMProject(); for (String reqProjectPermission : requireProjectPermissions) { diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/DBWServiceCore.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/DBWServiceCore.java index bd464e59ae..58a0b50aff 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/DBWServiceCore.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/core/DBWServiceCore.java @@ -163,17 +163,17 @@ public interface DBWServiceCore extends DBWService { @NotNull Map connectionConfig ) throws DBWebException; - @WebAction + @WebProjectAction(requireProjectPermissions = {RMConstants.PERMISSION_PROJECT_DATASOURCES_EDIT}) WebConnectionInfo testConnection( @NotNull WebSession webSession, - @Nullable String projectId, + @Nullable @WebObjectId String projectId, @NotNull Map connectionConfig ) throws DBWebException; - @WebAction + @WebProjectAction(requireProjectPermissions = {RMConstants.PERMISSION_PROJECT_DATASOURCES_EDIT}) WebNetworkEndpointInfo testNetworkHandler( @NotNull WebSession webSession, - @Nullable String projectId, + @Nullable @WebObjectId String projectId, @Nullable String connectionId, @NotNull WebNetworkHandlerConfigInput nhConfig ) throws DBWebException;