Skip to content

Commit 339f19f

Browse files
yagudin10dariamarutkinadevnaumov
authored
dbeaver/pro#9096 add ability for restricting ssh connections (#4320)
* dbeaver/pro#9096 add ability for restricting ssh connections * dbeaver/pro#9096 validate ssh tunnelling for te desktop * dbeaver/pro#9096 remove unused constant * dbeaver/pro#9096 show alert if ssh is disabled * Revert "dbeaver/pro#9096 show alert if ssh is disabled" This reverts commit cce9406. * dbeaver/pro#9096 do not show ssh for TE product --------- Co-authored-by: Daria Marutkina <125263541+dariamarutkina@users.noreply.github.com> Co-authored-by: naumov <iamemptyhuh@gmail.com>
1 parent 0229ed1 commit 339f19f

3 files changed

Lines changed: 16 additions & 2 deletions

File tree

server/bundles/io.cloudbeaver.model/plugin.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@
2525
label="Default secret controller" description="Default void secret controller"/>
2626
</extension>
2727

28+
<extension point="io.cloudbeaver.feature">
29+
<feature id="ssh" label="SSH tunnels for databases" description="Enables SSH tunnels for secure database connections, allowing access to remote databases through encrypted channels" enabledByDefault="true"/>
30+
</extension>
31+
32+
2833
<extension point="org.jkiss.dbeaver.ws.event">
2934
<event topicId="cb_session_task" id="cb_session_task_info_updated"
3035
class="io.cloudbeaver.websocket.event.task.WSSessionTaskInfoEvent"/>

server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/session/WebSessionWorkspace.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* DBeaver - Universal Database Manager
3-
* Copyright (C) 2010-2024 DBeaver Corp and others
3+
* Copyright (C) 2010-2026 DBeaver Corp and others
44
*
55
* Licensed under the Apache License, Version 2.0 (the "License");
66
* you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
1717
package io.cloudbeaver.model.session;
1818

1919
import io.cloudbeaver.WebSessionProjectImpl;
20+
import io.cloudbeaver.utils.ServletAppUtils;
2021
import org.jkiss.code.NotNull;
2122
import org.jkiss.code.Nullable;
2223
import org.jkiss.dbeaver.DBException;
@@ -199,12 +200,15 @@ void clearProjects() {
199200

200201
@Override
201202
public boolean hasRealmPermission(@NotNull String permission) {
203+
if (getWebSession() instanceof WebSession webSession) {
204+
return webSession.getSessionPermissions().contains(permission);
205+
}
202206
return false;
203207
}
204208

205209
@Override
206210
public boolean supportsRealmFeature(@NotNull String feature) {
207-
return false;
211+
return ServletAppUtils.getServletApplication().getAppConfiguration().isFeatureEnabled(feature);
208212
}
209213

210214
}

server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/server/ServerGlobalWorkspace.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,9 @@ public BaseProjectImpl getProject(@NotNull String projectName) {
115115
}
116116
return null;
117117
}
118+
119+
@Override
120+
public boolean supportsRealmFeature(@NotNull String feature) {
121+
return application.getAppConfiguration().isFeatureEnabled(feature);
122+
}
118123
}

0 commit comments

Comments
 (0)