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 @@