From e8355e5d5f2955ac52da3a5ada7dce47b43c3153 Mon Sep 17 00:00:00 2001 From: opsx Date: Mon, 26 Oct 2026 17:45:46 +0000 Subject: [PATCH] =?UTF-8?q?feat(ldap):=20LDAP=20=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=8F=AA=E8=AF=BB=E6=8E=A5=E5=85=A5=EF=BC=8C=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E9=AA=8C=E8=AF=81=E6=B5=8B=E8=AF=95=E4=B8=8E?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=AF=BC=E5=85=A5=E5=86=99=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 按需求调整 settings 页 LDAP 区域: 1. 移除「测试账号验证」按钮 - LdapConfigForm.tsx 删除按钮 + onOpenAccountTest prop - LdapConfigPage.tsx 不再渲染 LdapAccountTestDialog 2. 移除批量导入的 LDAP 写操作 - BatchImportModal.tsx 的 TABS 去掉「导入到 LDAP」「从 LDAP 导入」 - 只保留「本地导入」(CSV 建本地账号,不触碰 LDAP 目录) 3. 移除 LDAP 账号管理面板(危险写操作) - 不再渲染 LdapManagePanel(新建 OU / 添加用户 / 删除用户) - 不再渲染 LdapCreateOuDialog / LdapAddUserDialog - 面板含「此操作不可逆」删除功能,与只读接入原则冲突 4. 保留(只读用途) - LDAP 配置表单(服务器/绑定/搜索/属性映射) - 「测试连接」按钮(验证配置是否可用,不写 LDAP) 设计原则:本系统 LDAP 仅用于域账号登录认证(只读 bind + search), 目录维护请在域控侧操作。 验证(前端 bundle 实测): 测试账号验证: 0 导入到 LDAP: 0 从 LDAP 导入: 0 新建 OU: 0 危险操作: 0 此操作不可逆: 0 测试连接: 6(保留) 本地导入: 1(保留) /health → {"backend":"go","status":"ok","version":"0.4.0"} http://sql.astx.club/settings → HTTP 200 --- .../rbac/components/BatchImportModal.tsx | 7 +------ .../system/ldap/components/LdapConfigForm.tsx | 10 ---------- frontend/src/pages/LdapConfigPage.tsx | 19 ++++++++----------- 3 files changed, 9 insertions(+), 27 deletions(-) diff --git a/frontend/src/features/rbac/components/BatchImportModal.tsx b/frontend/src/features/rbac/components/BatchImportModal.tsx index 6a15987..20a9ba6 100644 --- a/frontend/src/features/rbac/components/BatchImportModal.tsx +++ b/frontend/src/features/rbac/components/BatchImportModal.tsx @@ -212,14 +212,9 @@ export function BatchImportModal({ onClose, onImported }: BatchImportModalProps) }; // LDAP 未配置时隐藏 LDAP 相关 Tab(本地 CSV 始终可用) + // LDAP 仅作只读接入:不再提供「导入到 LDAP」「从 LDAP 导入」 const TABS = [ { key: 'local' as const, label: '本地导入', icon: Upload }, - ...(ldapEnabled - ? [ - { key: 'to-ldap' as const, label: '导入到 LDAP', icon: Server }, - { key: 'from-ldap' as const, label: '从 LDAP 导入', icon: UsersIcon }, - ] - : []), ]; return ( diff --git a/frontend/src/features/system/ldap/components/LdapConfigForm.tsx b/frontend/src/features/system/ldap/components/LdapConfigForm.tsx index 04a2bdd..dd19d29 100644 --- a/frontend/src/features/system/ldap/components/LdapConfigForm.tsx +++ b/frontend/src/features/system/ldap/components/LdapConfigForm.tsx @@ -16,7 +16,6 @@ interface LdapConfigFormProps { onConfigChange: Dispatch>; onTestServer: () => void; onSave: () => void; - onOpenAccountTest: () => void; } export function LdapConfigForm({ @@ -28,7 +27,6 @@ export function LdapConfigForm({ onConfigChange, onTestServer, onSave, - onOpenAccountTest, }: LdapConfigFormProps) { /* ── helpers ── */ const updateField = (key: K, value: LdapConfigData[K]) => { @@ -183,14 +181,6 @@ export function LdapConfigForm({ {testResult.msg} )} - {config.ldap_host && config.base_dn && ( - - )} ); diff --git a/frontend/src/pages/LdapConfigPage.tsx b/frontend/src/pages/LdapConfigPage.tsx index b5b1953..e80aa52 100644 --- a/frontend/src/pages/LdapConfigPage.tsx +++ b/frontend/src/pages/LdapConfigPage.tsx @@ -337,16 +337,13 @@ export default function LdapConfigPage() { onConfigChange={setConfig} onTestServer={handleTestServer} onSave={handleSave} - onOpenAccountTest={() => setShowAccountTest(true)} /> - {/* ── LDAP 账号管理(未保存配置前隐藏,保存后出现) ── */} - {!loading && !configured && ( -
- LDAP 未启用:保存基础连接配置后,这里会出现 LDAP 账号管理与用户导入入口 -
- )} - {configured && ( + {/* ── LDAP 账号管理已移除 ── + 本系统 LDAP 仅作「只读接入」:仅用于域账号登录认证, + 不再提供新建 OU / 添加用户 / 删除用户 / 批量导入到 LDAP 等写操作。 + 如需维护 LDAP 目录,请在域控侧操作。 */} + {false && (