LDAP对我来说是新手,我尝试将它与Jenkins一起使用。我正在使用slapd
我创建了一个简单的树,其中包含用户admin
+ 1个用户adenoyelle
(通过dpkg reconfigure
)。我不明白Jenkins将如何找到LDAP用户。
以下是ldapsearch
的结果:
root@myserver:~# ldapsearch -x -b 'dc=mycompany,dc=com'
# extended LDIF
#
# LDAPv3
# base <dc=mycompany,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# mycompany.com
dn: dc=mycompany,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: mycompany.com
dc: mycompany
# admin, mycompany.com
dn: cn=admin,dc=mycompany,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
# adenoyelle, mycompany.com
dn: cn=adenoyelle,dc=mycompany,dc=com
cn: adenoyelle
objectClass: simpleSecurityObject
objectClass: organizationalRole
objectClass: top
# search result
search: 2
result: 0 Success
# numResponses: 4
# numEntries: 3
问题1):这个结构看起来不错吗?
我尝试使用这些选项配置Jenkins:
LDAP server: ldap://mycompany.com:389
root DN : dc=mycompany,dc=com
DN manager : cn=admin,dc=mycompany,dc=com
manager password : ******
当我尝试与adenoyelle/*****
联系时,收到消息:
jenkins登录信息无效。请再试一次
问题2)我错过了一段配置吗?
答案 0 :(得分:2)
现在我不确定jenkins如何查看用户,但我非常确定它是基于像 uid 这样的属性。就我所见,这样的属性在LDAP中不可用。
您可能想要添加一个objectclass ox inetorgperson或posixaccount,因为这些需要一个uid属性。或者,您可以在使用cn而不是uid的jenkins的ldap-config中设置用户过滤器。我明天要把它搞清楚,以便为你提供更多信息。
但是不要介意我问你为什么要设置一个自己的LDAP dieectory只是为了登录jenkins?是不是有点开销?或者您是否考虑使用该目录?
答案 1 :(得分:1)
詹金斯并没有很好地解释所需要的东西,他们的默认设置也不起作用。
一般情况下,选择LDAP后,您需要单击“高级”并将具有正确可分辨名称的ManagerDN和managerPassword更新为对您要访问的域控制器具有权限的用户。
同时将userSearch更改为(sAMAccountName = {0})
答案 2 :(得分:0)
您似乎只配置了管理员登录LDAP。每个用户还必须映射到LDAP结构。
尝试添加:
User search base: dc=mycompany,dc=com
User search filter: cn={0}