From c7bfab9654c8fecbb11ef74e9f93de82ab183aab Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Mon, 1 Nov 2021 17:24:56 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=E6=96=87=E6=9C=AC=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8C=E4=BB=AA=E8=A1=A8=E6=9D=BF=E5=BA=95?= =?UTF-8?q?=E8=89=B2=E4=BF=AE=E6=94=B9=EF=BC=8C=E4=BF=9D=E5=AD=98=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E8=BF=98=E6=98=AF=E7=81=B0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/canvas/components/Editor/Hyperlinks.vue | 1 + .../panel/SubjectSetting/PanelStyle/BackgroundSelector.vue | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/canvas/components/Editor/Hyperlinks.vue b/frontend/src/components/canvas/components/Editor/Hyperlinks.vue index 45da866b42..8fe2609f57 100644 --- a/frontend/src/components/canvas/components/Editor/Hyperlinks.vue +++ b/frontend/src/components/canvas/components/Editor/Hyperlinks.vue @@ -61,6 +61,7 @@ export default { methods: { onSubmit() { this.curComponent.hyperlinks = deepCopy(this.linkInfo) + this.$store.state.styleChangeTimes++ this.popoverClose() }, onClose() { diff --git a/frontend/src/views/panel/SubjectSetting/PanelStyle/BackgroundSelector.vue b/frontend/src/views/panel/SubjectSetting/PanelStyle/BackgroundSelector.vue index 80d9182335..d62f269595 100644 --- a/frontend/src/views/panel/SubjectSetting/PanelStyle/BackgroundSelector.vue +++ b/frontend/src/views/panel/SubjectSetting/PanelStyle/BackgroundSelector.vue @@ -12,7 +12,7 @@ {{ $t('chart.color') }} - + From c4204e286664633b2ae457f9d131c62a0e0f3d8b Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 1 Nov 2021 17:57:59 +0800 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E5=85=AC?= =?UTF-8?q?=E5=85=B1=E9=93=BE=E6=8E=A5=E5=8F=82=E6=95=B0=E9=95=BF=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/auth/filter/F2CLinkFilter.java | 3 ++- .../auth/service/impl/ShiroServiceImpl.java | 1 + .../controller/panel/server/LinkServer.java | 9 ++++----- .../service/panel/PanelLinkService.java | 18 ++++++++++------- frontend/src/utils/rsaEncrypt.js | 19 +++++------------- frontend/src/views/link/generate/index.vue | 7 ++++--- frontend/src/views/link/pwd/index.vue | 4 ++-- frontend/src/views/link/view/index.vue | 2 +- frontend/src/views/login/index.vue | 20 ++++++++++++------- 9 files changed, 43 insertions(+), 40 deletions(-) diff --git a/backend/src/main/java/io/dataease/auth/filter/F2CLinkFilter.java b/backend/src/main/java/io/dataease/auth/filter/F2CLinkFilter.java index 94a43bce52..c94900c4fc 100644 --- a/backend/src/main/java/io/dataease/auth/filter/F2CLinkFilter.java +++ b/backend/src/main/java/io/dataease/auth/filter/F2CLinkFilter.java @@ -39,7 +39,8 @@ public class F2CLinkFilter extends AnonymousFilter { panelLink.setPwd("dataease"); pwd = panelLink.getPwd(); }else { - pwd = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, panelLink.getPwd()); + /* pwd = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, panelLink.getPwd()); */ + pwd = panelLink.getPwd(); } return JWTUtils.verifyLink(link_token, id, pwd); }catch (Exception e) { diff --git a/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java index 352b6bbab8..fdf4c43a6f 100644 --- a/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java +++ b/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java @@ -63,6 +63,7 @@ public class ShiroServiceImpl implements ShiroService { // filterChainDefinitionMap.put("/axios.map", ANON); filterChainDefinitionMap.put("/api/auth/login", ANON); + filterChainDefinitionMap.put("/api/auth/isPluginLoaded", ANON); filterChainDefinitionMap.put("/system/requestTimeOut", ANON); filterChainDefinitionMap.put("/api/auth/validateName", ANON); filterChainDefinitionMap.put("/api/auth/isOpenLdap", ANON); diff --git a/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java b/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java index bd7a982145..693bcbbd84 100644 --- a/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java +++ b/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java @@ -1,7 +1,6 @@ package io.dataease.controller.panel.server; -import com.google.gson.Gson; import io.dataease.base.domain.PanelLink; import io.dataease.controller.ResultHolder; import io.dataease.controller.panel.api.LinkApi; @@ -10,7 +9,6 @@ import io.dataease.controller.request.panel.link.EnablePwdRequest; import io.dataease.controller.request.panel.link.LinkRequest; import io.dataease.controller.request.panel.link.OverTimeRequest; import io.dataease.controller.request.panel.link.PasswordRequest; -import io.dataease.controller.request.panel.link.ValidateRequest; import io.dataease.dto.panel.link.GenerateDto; import io.dataease.dto.panel.link.ValidateDto; import io.dataease.service.chart.ChartViewService; @@ -69,11 +67,12 @@ public class LinkServer implements LinkApi { public ValidateDto validate(@RequestBody Map param) throws Exception{ String link = param.get("link"); String json = panelLinkService.decryptParam(link); - Gson gson = new Gson(); + /* Gson gson = new Gson(); - ValidateRequest request = gson.fromJson(json, ValidateRequest.class); + ValidateRequest request = gson.fromJson(json, ValidateRequest.class); */ ValidateDto dto = new ValidateDto(); - String resourceId = request.getResourceId(); + String resourceId = json; + /* String resourceId = request.getResourceId(); */ PanelLink one = panelLinkService.findOne(resourceId); dto.setResourceId(resourceId); if (ObjectUtils.isEmpty(one)){ diff --git a/backend/src/main/java/io/dataease/service/panel/PanelLinkService.java b/backend/src/main/java/io/dataease/service/panel/PanelLinkService.java index 609eb65c1e..62220af096 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelLinkService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelLinkService.java @@ -116,18 +116,19 @@ public class PanelLinkService { } private String buildLinkParam(String resourceId){ - Map map = new HashMap<>(); + /* Map map = new HashMap<>(); map.put("resourceId", resourceId); map.put("time", System.currentTimeMillis()); map.put("salt", salt); Gson gson = new Gson(); - String encrypt = encrypt(gson.toJson(map)); - String s = null; + String encrypt = encrypt(gson.toJson(map)); */ + String encrypt = encrypt(resourceId); + /* String s = null; try { s = RsaUtil.decryptByPrivateKey(RsaProperties.privateKey, encrypt); } catch (Exception e) { e.printStackTrace(); - } + } */ return encrypt; } private GenerateDto convertDto(PanelLink linl){ @@ -154,7 +155,8 @@ public class PanelLinkService { return false; } if (StringUtils.isEmpty(panelLink.getPwd())) return false; - boolean verify = JWTUtils.verifyLink(token, panelLink.getResourceId(), decryptParam(panelLink.getPwd())); + boolean verify = JWTUtils.verifyLink(token, panelLink.getResourceId(), panelLink.getPwd()); + /* boolean verify = JWTUtils.verifyLink(token, panelLink.getResourceId(), decryptParam(panelLink.getPwd())); */ return verify; } @@ -167,10 +169,12 @@ public class PanelLinkService { } public boolean validatePwd(PasswordRequest request) throws Exception { - String password = decryptParam(request.getPassword()); + String password = request.getPassword(); + /* String password = decryptParam(request.getPassword()); */ String resourceId = request.getResourceId(); PanelLink one = findOne(resourceId); - String pwd = decryptParam(one.getPwd()); + String pwd = one.getPwd(); + /* String pwd = decryptParam(one.getPwd()); */ boolean pass = StringUtils.equals(pwd, password); if (pass){ String token = JWTUtils.signLink(resourceId, password); diff --git a/frontend/src/utils/rsaEncrypt.js b/frontend/src/utils/rsaEncrypt.js index 1f29db2f4c..eb48e27bfa 100644 --- a/frontend/src/utils/rsaEncrypt.js +++ b/frontend/src/utils/rsaEncrypt.js @@ -2,31 +2,22 @@ import JSEncrypt from 'jsencrypt/bin/jsencrypt' // 密钥对生成 http://web.chacuo.net/netrsakeypair -const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k3RiZHWx5AfJqdH9xRNBmD9wGD\n' + +/* const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k3RiZHWx5AfJqdH9xRNBmD9wGD\n' + '2iRe41HdTNF8RUhNnHit5NpMNtGL0NPTSSpPjjI1kJfVorRvaQerUgkCAwEAAQ==' - -const privateKey = 'MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8\n' + - 'mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9p\n' + - 'B6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue\n' + - '/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZ\n' + - 'UBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6\n' + - 'vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha\n' + - '4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3\n' + - 'tTbklZkD2A==' + */ // 加密 export function encrypt(txt) { - let publicKey = localStorage.getItem("publicKey"); + const publicKey = localStorage.getItem('publicKey') const encryptor = new JSEncrypt() encryptor.setPublicKey(publicKey) // 设置公钥 return encryptor.encrypt(txt) // 对需要加密的数据进行加密 } // 解密 -export function decrypt(txt) { +/* export function decrypt(txt) { const encryptor = new JSEncrypt() encryptor.setPrivateKey(privateKey) return encryptor.decrypt(txt) -} - +} */ diff --git a/frontend/src/views/link/generate/index.vue b/frontend/src/views/link/generate/index.vue index c71a15d227..887c32e930 100644 --- a/frontend/src/views/link/generate/index.vue +++ b/frontend/src/views/link/generate/index.vue @@ -60,7 +60,6 @@