From 6c19350adb1d88a0260d41464987b747d8b4a926 Mon Sep 17 00:00:00 2001
From: wangruidong <940853815@qq.com>
Date: Wed, 4 Sep 2024 15:46:56 +0800
Subject: [PATCH] feat: LDAP HA
---
.../Auth/Ldap/HaSyncSettingDialog.vue | 103 ++++++++++++
src/views/settings/Auth/Ldap/ImportDialog.vue | 10 +-
src/views/settings/Auth/Ldap/Ldap.vue | 151 ++++++++++++++++++
src/views/settings/Auth/Ldap/LdapHA.vue | 151 ++++++++++++++++++
.../settings/Auth/Ldap/TestLoginDialog.vue | 8 +-
src/views/settings/Auth/Ldap/index.vue | 151 ------------------
src/views/settings/Auth/index.vue | 13 +-
7 files changed, 432 insertions(+), 155 deletions(-)
create mode 100644 src/views/settings/Auth/Ldap/HaSyncSettingDialog.vue
create mode 100644 src/views/settings/Auth/Ldap/Ldap.vue
create mode 100644 src/views/settings/Auth/Ldap/LdapHA.vue
diff --git a/src/views/settings/Auth/Ldap/HaSyncSettingDialog.vue b/src/views/settings/Auth/Ldap/HaSyncSettingDialog.vue
new file mode 100644
index 000000000..f60734e84
--- /dev/null
+++ b/src/views/settings/Auth/Ldap/HaSyncSettingDialog.vue
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
diff --git a/src/views/settings/Auth/Ldap/ImportDialog.vue b/src/views/settings/Auth/Ldap/ImportDialog.vue
index 1e99835d7..c60c5a31f 100644
--- a/src/views/settings/Auth/Ldap/ImportDialog.vue
+++ b/src/views/settings/Auth/Ldap/ImportDialog.vue
@@ -58,6 +58,12 @@ export default {
Dialog,
Select2
},
+ props: {
+ category: {
+ type: String,
+ required: true
+ }
+ },
data() {
return {
dialogLdapUserImportLoginStatus: false,
@@ -76,7 +82,7 @@ export default {
}
},
tableConfig: {
- url: '/api/v1/settings/ldap/users/',
+ url: `/api/v1/settings/ldap/users/?category=${this.category}`,
columns: ['status', 'username', 'name', 'email', 'groups', 'existing'],
columnsMeta: {
...getStatusColumnMeta.bind(this)('status'),
@@ -191,7 +197,7 @@ export default {
enableWS() {
const scheme = document.location.protocol === 'https:' ? 'wss' : 'ws'
const port = document.location.port ? ':' + document.location.port : ''
- const url = '/ws/ldap/'
+ const url = `/ws/ldap/?category=${this.category}`
const wsURL = scheme + '://' + document.location.hostname + port + url
this.ws = new WebSocket(wsURL)
},
diff --git a/src/views/settings/Auth/Ldap/Ldap.vue b/src/views/settings/Auth/Ldap/Ldap.vue
new file mode 100644
index 000000000..8ac47a93f
--- /dev/null
+++ b/src/views/settings/Auth/Ldap/Ldap.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/settings/Auth/Ldap/LdapHA.vue b/src/views/settings/Auth/Ldap/LdapHA.vue
new file mode 100644
index 000000000..42aeac136
--- /dev/null
+++ b/src/views/settings/Auth/Ldap/LdapHA.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/settings/Auth/Ldap/TestLoginDialog.vue b/src/views/settings/Auth/Ldap/TestLoginDialog.vue
index a81cdcb62..d0e587b0c 100644
--- a/src/views/settings/Auth/Ldap/TestLoginDialog.vue
+++ b/src/views/settings/Auth/Ldap/TestLoginDialog.vue
@@ -40,6 +40,12 @@ export default {
components: {
Dialog
},
+ props: {
+ category: {
+ type: String,
+ required: true
+ }
+ },
data() {
return {
testLdapLoginStatus: false,
@@ -69,7 +75,7 @@ export default {
enableWS() {
const scheme = document.location.protocol === 'https:' ? 'wss' : 'ws'
const port = document.location.port ? ':' + document.location.port : ''
- const url = '/ws/ldap/'
+ const url = `/ws/ldap/?category=${this.category}`
const wsURL = scheme + '://' + document.location.hostname + port + url
this.ws = new WebSocket(wsURL)
}
diff --git a/src/views/settings/Auth/Ldap/index.vue b/src/views/settings/Auth/Ldap/index.vue
index 76d0ac74a..8b1378917 100644
--- a/src/views/settings/Auth/Ldap/index.vue
+++ b/src/views/settings/Auth/Ldap/index.vue
@@ -1,152 +1 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/settings/Auth/index.vue b/src/views/settings/Auth/index.vue
index 87f11b982..8dde8d8c6 100644
--- a/src/views/settings/Auth/index.vue
+++ b/src/views/settings/Auth/index.vue
@@ -8,7 +8,8 @@