使用LDAPconfigurationJenkins:参数“Root DN”

我正在安装LDAP服务器并configurationJenkins以接受LDAP进行身份validation。 在jenkins参数中,我有一个奇怪的行为与参数Root DN

文档说:

根DN

为了validation用户身份并确定给予用户的angular色,Jenkins执行多个LDAP查询。

[…]

但实际上,LDAP服务器对数据保持了广泛的索引, 因此指定这个字段是很less需要的 – 您应该让Jenkins通过与LDAP交谈来解决这个问题。

如果你确实指定了这个值,这个字段通常看起来像dc = acme,dc = org

奇怪的行为 :如果我没有指定参数,我的用户没有find。 其他参数具有默认值。

LDAP对我来说是新的,所以我可能做错了什么。 我使用slapd创build了一个LDAP树。 我在一个节点下创build了一个用户adenoyelle 。 请参阅下面的ldapsearch结果:

 root@myserver:~# ldapsearch -xLLL -b 'dc=acme,dc=com' dn: dc=acme,dc=com objectClass: top objectClass: dcObject objectClass: organization o: acme.com dc: acme dn: cn=admin,dc=acme,dc=com objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator dn: ou=people,dc=acme,dc=com cn: people objectClass: organizationalRole objectClass: top ou: people dn: uid=adenoyelle,ou=people,dc=acme,dc=com objectClass: account objectClass: top objectClass: simpleSecurityObject uid: adenoyelle 

如果我让Root DN空,则我的用户无法进行身份validation。 但是,如果我给这个参数的值:

OU =人,DC = ACME,DC = COM

我究竟做错了什么? 我的猜测是我的LDAP节点是错误的,但我找不到原因。 也许与objectClass值的问题?

如果省略此值,则LDAP客户机将查询服务器以查找用作基本DN的根DSE。 如果slapd设置不正确,则ldapsearch无法获取该值,从而导致查询失败。

详情在这里: 没有从OpenLDAP返回的根DSE ,引用:

这实际上是作为bug #427842再次提交Ubuntu 9.10(karmic)。

要解决此问题,请将以下内容复制到fixRootDSE.ldif:

 dn: olcDatabase={-1}frontend,cn=config changetype: modify add: olcAccess olcAccess: to dn.base="" by * read olcAccess: to dn.base="cn=subschema" by * read 

并执行

 sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f fixRootDSE.ldif 

这应该给匿名访问根DSE。