跳转到内容

LDAP ​

LDAP 用于接入企业身份源。

入口 ​

LDAP 设置位于 System Settings 的 LDAP Tab。

LDAP 设置

配置项 ​

字段说明
Enabled是否启用 LDAP 登录。
Server URILDAP 服务地址,必须以 ldap:// 或 ldaps:// 开头。
Domain直连绑定模式下拼接 username@domain 使用。
Bind DN可选的服务账号 DN,用于先搜索用户。
Bind PasswordBind DN 对应密码。
User Search Base DN用户搜索起点 DN。
User Login Attr登录名匹配字段,默认 uid。

Windows AD 常见配置 ​

Windows Active Directory 通常使用搜索绑定模式:

字段示例
Server URIldaps://ad.example.com:636 或 ldap://ad.example.com:389
Domainexample.com
Bind DNsvc_asp@example.com 或 CN=svc-asp,OU=Service Accounts,DC=example,DC=com
Bind Password服务账号密码
User Search Base DNDC=example,DC=com 或 OU=Users,DC=example,DC=com
User Login AttrsAMAccountName

如果希望用户用 UPN 登录,也可以把 User Login Attr 设置为 userPrincipalName,并要求用户在登录页输入完整 UPN,例如 alice@example.com。

在域内 Windows 主机上确认配置 ​

如果当前 Windows 主机已经加入域,可以先用本地 PowerShell 确认域名、域控和端口连通性:

powershell
$domain = $env:USERDNSDOMAIN
$domain
nltest /dsgetdc:$domain

nltest 输出中的 DC 或 Address 可用于确认域控地址。再检查 LDAP / LDAPS 端口:

powershell
Test-NetConnection <domain-controller-host> -Port 636
Test-NetConnection <domain-controller-host> -Port 389

如果 636 可用,优先使用 ldaps://<domain-controller-host>:636;否则使用 ldap://<domain-controller-host>:389。

ASP 配置项如何确认
Server URI使用 nltest /dsgetdc:$domain 找到域控,再按端口选择 ldaps://<host>:636 或 ldap://<host>:389。
Domain通常填写 $env:USERDNSDOMAIN,例如 example.com。
Bind DN建议使用专用服务账号的 UPN,例如 svc_asp@example.com;也可以使用完整 DN。
Bind Password服务账号密码。无法通过本地命令读取,需要由 AD 管理员提供或重置。
User Search Base DN通常由域名转换而来,例如 example.com 对应 DC=example,DC=com;也可以缩小到实际用户所在 OU。
User Login AttrWindows AD 通常使用 sAMAccountName;如果希望用户输入完整 UPN,则使用 userPrincipalName。

如果本机安装了 RSAT Active Directory 模块,可以进一步确认 DN:

powershell
Import-Module ActiveDirectory
Get-ADDomain | Select-Object DNSRoot, DistinguishedName, PDCEmulator
Get-ADUser svc_asp -Properties UserPrincipalName, DistinguishedName |
  Select-Object SamAccountName, UserPrincipalName, DistinguishedName

认证模式 ​

配置了 User Search Base DN 时,后端会先使用 Bind DN / Bind Password 做 service bind,然后按 User Login Attr=<username> 搜索用户 DN,最后使用用户输入的密码绑定该用户 DN。

未配置 User Search Base DN 时,后端会直接绑定用户:如果配置了 Domain,则使用 username@domain;否则直接使用 username。

测试连接 ​

不填写 Test Username / Test Password 时,Test 只验证 LDAP bind 是否成功。填写测试账号时,用户名和密码必须同时提供,后端会按当前配置执行一次完整用户认证。

LDAP 测试

登录流程 ​

  1. 管理员启用并保存 LDAP 配置。
  2. 使用测试功能确认连接和账号查询可用。
  3. 管理员在用户管理中创建 Authentication Type 为 LDAP 的 ASP 用户。
  4. 用户在登录页切换到 LDAP。
  5. 后端确认 ASP 用户存在、账号启用、认证类型为 LDAP。
  6. 后端使用 LDAP 验证用户凭据,并以该 ASP 用户登录。

LDAP 登录

LDAP 登录不会自动创建 ASP 用户,也不会自动分配角色。Local Password 用户不能使用 LDAP 方式登录,LDAP 用户也不能使用 Platform 方式登录。

安全与审计 ​

Bind Password 默认隐藏。保存配置、测试连接和 reveal Bind Password 都会写入 Audit Log;密码字段在审计记录中只记录是否 changed 或 reveal,不写入明文。

保存配置后,后端会刷新 LDAP runtime cache,后续登录使用最新配置。

使用建议 ​

  • 生产环境优先使用 ldaps://。
  • Windows AD 通常使用 sAMAccountName 作为 User Login Attr。
  • 将 User Search Base DN 控制在实际用户所在 OU 或域范围内。
  • 先用 Test Username / Test Password 验证真实用户登录,再开放给用户使用。

下一步 ​

  • 用户管理 — 创建 Authentication Type 为 LDAP 的 ASP 用户。
  • 首次登录 — 查看 Platform / LDAP 登录方式。
  • 个人中心 — 了解 LDAP 用户和 Platform 用户在密码修改上的差异。