【发布时间】:2021-11-11 14:21:57
【问题描述】:
我需要通过 LDAP (AD) 为我们的 Jenkins 设置身份验证。我能够大规模设置身份验证,但我必须将其缩小到某个组的特定成员,我的 LDAP 过滤在这里失败。
这是我要定位的完整 DN:
CN=jenkinsgroup,OU=App1,OU=Applications,OU=CompanyGroup,OU=Company,DC=my,DC=domain,DC=com
在 jenkinsgroup 组中,我将用户存储为成员属性,只有他们才能获得访问权限。
Jenkins LDAP 插件提供以下字段:
我不确定是否应该在 User 或 Group 字段中使用过滤器,或者我应该为成员属性使用哪个 objectClass 或类别 - 我也尝试过 user 和 member。
我收到的错误消息:
用户查找:用户“用户名”不存在。 Manager Dn 是否有权执行用户查找? 用户搜索库和用户搜索过滤器设置是否正确? LDAP 组查找:无法验证。 请尝试使用至少属于一个 LDAP 组的用户。
如果不进行过滤,我可以向组中的用户进行身份验证,它还可以确认我的成员身份。
所以我对如何编写正确的查询感到困惑。
提前致谢!
【问题讨论】:
-
请将配置复制为文本/代码而不是链接图像,以便您的帖子更具可读性。问题是用户搜索过滤器中没有可供替换的用户名变量,将该过滤器替换为:
(&(sAMAccountName={0})(memberOf=CN=jenkinsgroup,OU=App1,OU=Applications,OU=CompanyGroup,OU=Company,DC=my,DC=domain,DC=com))。此外,由于这个单一过滤器会检查用户名及其成员资格。 -
谢谢,成功了!