mirror of
https://github.com/kuaifan/dootask.git
synced 2026-08-01 02:45:58 +00:00
80 lines
2.8 KiB
Markdown
80 lines
2.8 KiB
Markdown
---
|
||
id: ldap.config.howto
|
||
title: 配置 LDAP
|
||
type: howto
|
||
feature: ldap
|
||
scope: admin
|
||
locale: zh
|
||
aliases:
|
||
- 配置 LDAP
|
||
- 接入 LDAP
|
||
- LDAP 怎么填
|
||
- LDAP 参数
|
||
- 接入 AD
|
||
- LDAP host
|
||
- LDAP 端口
|
||
- 登录属性
|
||
- 测试 LDAP 连接
|
||
- LDAP 验证失败
|
||
related_tools: []
|
||
related_pages: []
|
||
prerequisites:
|
||
- 需要系统管理员权限
|
||
- 已部署可达的 LDAP / AD
|
||
- 已准备好管理员 Bind DN + 密码 + Base DN
|
||
negative:
|
||
- SYSTEM_SETTING=disabled 时禁止保存配置
|
||
- 端口未填或非法时会被强制设为 389
|
||
- 登录属性枚举受限,不在白名单内的值会回退为 cn
|
||
- 测试连接接口只对当前请求生效,不会落库
|
||
last_verified: v1.7.90
|
||
---
|
||
|
||
# 配置 LDAP
|
||
|
||
## 入口
|
||
桌面端:左上角头像 →「系统设置」→「第三方接入」(LDAP 配置区在此)。
|
||
对应后端:`POST api/system/setting/thirdaccess`,`type` 可取 `save` / `testldap`。
|
||
|
||
## 字段清单
|
||
|
||
| 字段 | 含义 | 备注 |
|
||
|---|---|---|
|
||
| ldap_open | 总开关 | open / close |
|
||
| ldap_host | 服务器域名/IP | 不带 schema |
|
||
| ldap_port | 端口 | 默认 389(LDAPS 一般 636)|
|
||
| ldap_user_dn | 管理员 Bind DN | 如 cn=admin,dc=example,dc=com |
|
||
| ldap_password | 管理员密码 | 不可明文展示在前端 |
|
||
| ldap_base_dn | 搜索基准 DN | 如 ou=users,dc=example,dc=com |
|
||
| ldap_login_attr | 登录用属性 | cn / uid / mail / sAMAccountName / userPrincipalName |
|
||
| ldap_sync_local | 本地→LDAP 反向同步 | open / close,默认 close |
|
||
|
||
只接收上述字段,其他键会被服务端剔除。
|
||
|
||
## 操作步骤
|
||
|
||
1. 进入「第三方接入」
|
||
2. 「LDAP 开关」选 `open`
|
||
3. 依次填写 host / port / 管理员 DN + 密码 / Base DN
|
||
4. 选择登录属性:
|
||
- 标准 OpenLDAP:通常 `cn` 或 `uid`
|
||
- Windows AD:通常 `sAMAccountName`(用户登录名)或 `userPrincipalName`(user@domain)
|
||
5. 是否同步本地:本地账号反向写入 LDAP 时打开(仅在登录/注册触发,不主动批量推送)
|
||
6. 点击「测试」按钮(前端调用 `type=testldap`):
|
||
- 不入库,只用当前表单字段尝试用管理员 DN + 密码做 Bind
|
||
- 成功 →「验证通过」
|
||
- 失败 →「验证失败」(带 LDAP 异常)
|
||
7. 测试通过后点击「保存」(`type=save`)
|
||
|
||
## 测试连接细节
|
||
`type=testldap` 调用 `LdapRecord` 的 `Container::getDefaultConnection()` 临时设置参数 → `auth()->attempt(user_dn, password)`:
|
||
- 成功:返回成功消息
|
||
- 失败:捕获 `LdapRecordException` 返回错误消息 + 默认连接配置(便于排查)
|
||
|
||
具体排错见 [[ldap.troubleshoot.faq]]。
|
||
|
||
## 不支持
|
||
- 不能配置多个 LDAP 域
|
||
- 测试连接只能用管理员账号验通绑定,无法替用户名验通
|
||
- 没有「指定 OU 同步过滤」更细的 LDAP filter 字段
|