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