diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtSystemParameterMapper.java b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtSystemParameterMapper.java
index 7fd5f72e47..6ca545e3b2 100644
--- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtSystemParameterMapper.java
+++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtSystemParameterMapper.java
@@ -1,5 +1,7 @@
package io.metersphere.base.mapper.ext;
public interface ExtSystemParameterMapper {
- String email();
+ String email();
+
+ void saveBaseurl(String baseurl);
}
diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtSystemParameterMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtSystemParameterMapper.xml
index db788581c5..c8283baae4 100644
--- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtSystemParameterMapper.xml
+++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtSystemParameterMapper.xml
@@ -5,4 +5,9 @@
+
+
+ update system_parameter set param_value = #{baseurl,jdbcType=VARCHAR}
+ where param_key = 'base.url' and (param_value like 'http://localhost%' or param_value = '' or param_value is null)
+
\ No newline at end of file
diff --git a/backend/src/main/java/io/metersphere/commons/utils/ShiroUtils.java b/backend/src/main/java/io/metersphere/commons/utils/ShiroUtils.java
index 95a0757129..0f8042b419 100644
--- a/backend/src/main/java/io/metersphere/commons/utils/ShiroUtils.java
+++ b/backend/src/main/java/io/metersphere/commons/utils/ShiroUtils.java
@@ -47,6 +47,7 @@ public class ShiroUtils {
filterChainDefinitionMap.put("/api/document/**", "anon");
filterChainDefinitionMap.put("/document/**", "anon");
filterChainDefinitionMap.put("/system/theme", "anon");
+ filterChainDefinitionMap.put("/system/save/baseurl/**", "anon");
filterChainDefinitionMap.put("/v1/catalog/**", "anon");
filterChainDefinitionMap.put("/v1/agent/**", "anon");
diff --git a/backend/src/main/java/io/metersphere/controller/SystemParameterController.java b/backend/src/main/java/io/metersphere/controller/SystemParameterController.java
index 4893b921f6..84be30c4eb 100644
--- a/backend/src/main/java/io/metersphere/controller/SystemParameterController.java
+++ b/backend/src/main/java/io/metersphere/controller/SystemParameterController.java
@@ -24,7 +24,7 @@ public class SystemParameterController {
private SystemParameterService SystemParameterService;
@PostMapping("/edit/email")
- @MsAuditLog(module = "system_parameter_setting", type = OperLogConstants.UPDATE, title = "邮件设置",beforeEvent = "#msClass.getMailLogDetails()", content = "#msClass.getMailLogDetails()", msClass = SystemParameterService.class)
+ @MsAuditLog(module = "system_parameter_setting", type = OperLogConstants.UPDATE, title = "邮件设置", beforeEvent = "#msClass.getMailLogDetails()", content = "#msClass.getMailLogDetails()", msClass = SystemParameterService.class)
public void editMail(@RequestBody List systemParameter) {
SystemParameterService.editMail(systemParameter);
}
@@ -65,6 +65,11 @@ public class SystemParameterController {
SystemParameterService.saveBaseInfo(systemParameter);
}
+ @GetMapping("/save/baseurl")
+ public void saveBaseurl(@RequestParam("baseurl") String baseurl) {
+ SystemParameterService.saveBaseurl(baseurl);
+ }
+
@PostMapping("/save/ldap")
@MsAuditLog(module = "system_parameter_setting", type = OperLogConstants.UPDATE, beforeEvent = "#msClass.getLogDetails()", content = "#msClass.getLogDetails()", msClass = SystemParameterService.class)
public void saveLdap(@RequestBody List systemParameter) {
diff --git a/backend/src/main/java/io/metersphere/service/SystemParameterService.java b/backend/src/main/java/io/metersphere/service/SystemParameterService.java
index 76cf667d33..f56db07117 100644
--- a/backend/src/main/java/io/metersphere/service/SystemParameterService.java
+++ b/backend/src/main/java/io/metersphere/service/SystemParameterService.java
@@ -328,4 +328,7 @@ public class SystemParameterService {
return null;
}
+ public void saveBaseurl(String baseurl) {
+ extSystemParameterMapper.saveBaseurl(baseurl);
+ }
}
diff --git a/frontend/src/login/Login.vue b/frontend/src/login/Login.vue
index 6a108138fc..b6381307b6 100644
--- a/frontend/src/login/Login.vue
+++ b/frontend/src/login/Login.vue
@@ -19,7 +19,9 @@
LDAP
普通登录
- {{ auth.type }} {{ auth.name }}
+ {{ auth.type }}
+ {{ auth.name }}
+
@@ -88,13 +90,20 @@ export default {
loginTitle: this.$t("commons.welcome"),
authSources: [],
loginUrl: 'signin',
- }
+ };
},
beforeCreate() {
this.$get('/system/theme', res => {
this.color = res.data ? res.data : PRIMARY_COLOR;
document.body.style.setProperty('--primary_color', this.color);
- })
+ });
+ // 保存当前站点url
+ this.$get('/system/save/baseurl?baseurl=' + window.location.origin)
+ .then(() => {
+ })
+ .catch(() => {
+ });
+
this.result = this.$get("/isLogin").then(response => {
if (display.default !== undefined) {
@@ -118,17 +127,17 @@ export default {
});
this.$get("/ldap/open", response => {
this.openLdap = response.data;
- if (this.openLdap){
+ if (this.openLdap) {
this.form.authenticate = 'LDAP';
}
- })
+ });
},
created: function () {
// 主页添加键盘事件,注意,不能直接在焦点事件上添加回车
document.addEventListener("keydown", this.watchEnter);
//
if (license.default) {
- license.default.valid(this)
+ license.default.valid(this);
}
},
@@ -187,10 +196,10 @@ export default {
this.$get("language", response => {
language = response.data;
localStorage.setItem(DEFAULT_LANGUAGE, language);
- window.location.href = "/"
- })
+ window.location.href = "/";
+ });
} else {
- window.location.href = "/"
+ window.location.href = "/";
}
},
redirectAuth(authId) {
@@ -199,7 +208,7 @@ export default {
}
}
}
-}
+};