From 86c339f163f652bf05c9deb6e1642f8a5a039203 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Wed, 11 Sep 2024 10:42:15 +0800 Subject: [PATCH 1/3] =?UTF-8?q?REPORT-134200=20=E3=80=90fr-fbp=E5=9B=9E?= =?UTF-8?q?=E5=BD=92=E3=80=91=E5=BB=BA=E7=AB=8Bhsql=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=A9=B1=E5=8A=A8=E7=9A=84=E6=95=B0=E6=8D=AE=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datapane/preview/ConnectionInfoBeanHelper.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/ConnectionInfoBeanHelper.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/ConnectionInfoBeanHelper.java index 26ae869fcd..33e085beb3 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/ConnectionInfoBeanHelper.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/ConnectionInfoBeanHelper.java @@ -157,7 +157,7 @@ public class ConnectionInfoBeanHelper { .user(jdbcConnection.getUser()) .driver(jdbcConnection.getDriver()) // 关键中的关键,由设计器发出的请求如果要携带密码,不能传明文,必须必须必须传加密后的密码 - .password(withPassword ? encrypt(jdbcConnection.getPassword()) : DecisionServiceConstants.DEFAULT_PASSWORD) + .password(withPassword ? DataEncryptionHelper.encrypt(jdbcConnection.getPassword()) : DecisionServiceConstants.DEFAULT_PASSWORD) .schema(jdbcConnection.getSchema()) .url(jdbcConnection.getURL()) .creator(jdbcConnection.getCreator()) @@ -188,14 +188,6 @@ public class ConnectionInfoBeanHelper { .verifyCa(jdbcConnection.getSsl().getSslType() == SslType.NORMAL && ((NormalSsl) jdbcConnection.getSsl()).isVerifyCa()); } - private static String encrypt(String password) { - // 如果是空密码或者默认密码,就返回默认的星号回去 - if (StringUtils.isEmpty(password) || StringUtils.equals(password, DecisionServiceConstants.DEFAULT_PASSWORD)) { - return DecisionServiceConstants.DEFAULT_PASSWORD; - } - return TransmissionEncryptionManager.getInstance().getEncryption(WorkplaceConstants.getEncryptionMode()).encrypt(password, WorkplaceConstants.getEncryptionKey()); - } - private static Connection createJDBCConnection(ConnectionInfoBean connectionInfoBean) throws Exception { String name = connectionInfoBean.getConnectionName(); From ed60afc13f73925d3a2b82336952da90731e9f60 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Wed, 11 Sep 2024 10:44:42 +0800 Subject: [PATCH 2/3] =?UTF-8?q?REPORT-133424=20=E3=80=90fr-fbp=E5=9B=9E?= =?UTF-8?q?=E5=BD=92=E3=80=91=E6=89=93=E5=BC=80=E6=A8=A1=E6=9D=BFA?= =?UTF-8?q?=EF=BC=8C=E5=88=87=E6=8D=A2=E7=8E=AF=E5=A2=83=EF=BC=8C=E6=A8=A1?= =?UTF-8?q?=E6=9D=BFA=E7=9A=84=E9=94=81=E5=AE=9A=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=8D=E4=BC=9A=E8=A7=A3=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/backup/EnvBackupHelper.java | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/designer-base/src/main/java/com/fr/design/backup/EnvBackupHelper.java b/designer-base/src/main/java/com/fr/design/backup/EnvBackupHelper.java index bb9575ea19..73d0cbc1b1 100644 --- a/designer-base/src/main/java/com/fr/design/backup/EnvBackupHelper.java +++ b/designer-base/src/main/java/com/fr/design/backup/EnvBackupHelper.java @@ -4,11 +4,13 @@ import com.fanruan.carina.Carina; import com.fanruan.config.realm.ConfigRepositoryFactory; import com.fanruan.config.realm.local.LocalConfigRepositoryBuilder; import com.fr.design.ConfigHelper; +import com.fr.design.env.RemoteWorkspace; import com.fr.design.mem.MemConfigBackupManager; import com.fr.design.mem.MemConfigRepositoryBuilder; import com.fr.log.FineLoggerFactory; import com.fr.workspace.WorkContext; import com.fr.workspace.Workspace; +import com.fr.workspace.server.repository.connect.FineWorkspaceHttpClient; import java.util.Properties; @@ -42,11 +44,13 @@ public class EnvBackupHelper { FineLoggerFactory.getLogger().info("[EnvBackup] 1.back start..."); this.swtiching = true; local = WorkContext.getCurrent().isLocal(); + origin = WorkContext.getCurrent(); if (local) { properties = ConfigHelper.getEnvProperties(); path = ConfigHelper.getEnvPropertiesPath(); + } else { + closeEnv(); } - origin = WorkContext.getCurrent(); } /** @@ -107,10 +111,30 @@ public class EnvBackupHelper { } else { // 如果是远程,则新环境的配置全部弃用,直接走老的 MemConfigBackupManager.getInstance().failed(); + rollbackEnv(); } } + /** + * 关闭环境 + */ + public void closeEnv() { + // 如果原来是远程,要先发请求告诉原来的环境我这边要断开 + if (origin instanceof RemoteWorkspace) { + origin.close(); + } + } + + /** + * 重新进入老环境 + */ + public void rollbackEnv() { + if (origin instanceof RemoteWorkspace && ((RemoteWorkspace) origin).getClient() instanceof FineWorkspaceHttpClient) { + ((FineWorkspaceHttpClient) ((RemoteWorkspace) origin).getClient()).startHeartBeat(); + } + } + public boolean isSwtiching() { return swtiching; } From f9161342b1dba8ab9a9a212e65d4a2848848e326 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Wed, 11 Sep 2024 11:37:16 +0800 Subject: [PATCH 3/3] =?UTF-8?q?REPORT-134249=20=E3=80=90fr-fbp=E5=9B=9E?= =?UTF-8?q?=E5=BD=92=E3=80=91=E6=A8=A1=E6=9D=BF=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E4=BC=9A=E8=A7=A6=E5=8F=91=E6=9D=83=E9=99=90=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/mainframe/JTemplate.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index 16d7a054b8..e280028646 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -1751,6 +1751,9 @@ public abstract class JTemplate> } private boolean checkJTemplateAuthority() { + if (WorkContext.getCurrent().isRoot()) { + return true; + } ConnectionAuthorityConfigBean bean = ConnectionRepository.getInstance().getConnectionAuthorityConfig(); if (!(bean !=null && bean.isConnectionEditAuth())) { return true;