Skip to content

feat(ldap): 增加 filter 支持,限制允许登录的用户范围#239

Open
HGHNice wants to merge 13 commits intoopsre:masterfrom
HGHNice:feat/ldap-filter
Open

feat(ldap): 增加 filter 支持,限制允许登录的用户范围#239
HGHNice wants to merge 13 commits intoopsre:masterfrom
HGHNice:feat/ldap-filter

Conversation

@HGHNice
Copy link
Contributor

@HGHNice HGHNice commented Mar 9, 2026

变更说明

  • models/settings.goLdapConfig 结构体中新增 filter 字段
  • Login 方法:若设置了 filter,使用 AND 逻辑将其与用户名搜索条件合并,只有同时满足两个条件的用户才能登录
  • ListUsers 方法:若设置了 filter,将其与 (objectClass=person) 合并,限制同步到 W8T 的用户范围

配置示例

Ldap:
  enabled: true
  address: "192.168.1.100:389"
  baseDN: "dc=test,dc=com"
  adminUser: "cn=admin,dc=test,dc=com"
  adminPass: "test123."
  userDN: "ou=people,dc=test,dc=com"
  userPrefix: "uid"
  defaultUserRole: "ur-cq7nkj1d6gviooaigqi0"
  cronjob: "*/1 * * * *"
  # 只允许 jms 组内的用户登录
  filter: "(&(objectClass=person)(memberOf=cn=jms,ou=groups,dc=test,dc=com))"
**实现逻辑**
- filter 为空时(默认),行为与原来一致,baseDN 下所有用户均可登录
- filter 不为空时,搜索条件自动合并:
   登录验证:(&<filter>(sAMAccountName=<username>))
   用户同步:(&<filter>(objectClass=person))
关联 Issue: #174

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant