Jenkins 连接到 LDAP

Jenkins connection to LDAP

好吧,我完全被难住了。我是 运行 Mac OSX 的 Jenkins 应用程序 (v1.635)。我正在尝试通过 LDAP 安全领域连接到 Active Directory。无论我尝试什么(而且我已经尝试了 30 多种变体),登录失败并且没有任何内容写入 jenkins.log 文件。

我安装了 ApacheDirectoryStudio 并且连接完美,所以我知道这是 Jenkins 问题(而不是网络或 ACL 问题)。

LDAP 服务器正在使用 self-signed SSL 证书,我将其安装到相关的 cacerts 文件中。

这是我的 LDAP 配置(减去敏感的公司内容)

Server: ldaps://subdomain.domain.com:636
root DN: DC=domain,DC=com
User search base: OU=Users and Computers
User search filter: sAMAccountName={0}
Group search base: OU=Jenkins Groups,OU=Groups
Group search filter: (&(objectclass=group)(cn={0}))
Group membership: Parse user attribute for list of groups
    Group membership attribute: memberOf
Manager DN: CN=jenkins,OU=Users and Computers,DC=domain,DC=com
Manager Password: password
Display Name LDAP attribute: displayname
Email Address LDAP attribute: mail
Disable Ldap Email Resolver: unchecked

非常感谢任何帮助。即使让日志文件吐出一些信息也很棒。

谢谢!

编辑 #1:有时日志文件中会出现异常。希望这对您有所帮助。

    Nov 09, 2015 12:00:49 PM hudson.security.LDAPSecurityRealm$LDAPUserDetailsService loadUserByUsername
WARNING: Failed to search LDAP for username=myuser
org.acegisecurity.ldap.LdapDataAccessException: Unable to connect to LDAP server; nested exception is javax.naming.CommunicationException: subdomain.domain.com:636 [Root exception is java.net.SocketTimeoutException: Connect timed out]

编辑 #2:我必须去参加一个 1 1/2 小时的会议,所以我的回复会延迟。对不起。

所以这并不理想,但我能够使连接与普通 ldap 连接(不是 ldaps)一起工作。我所能想到的是,在建立连接方面,Apache Directory Studio 比 Jenkins 更聪明。我怀疑自签名 SSL 证书链可能存在 Jenkins 无法完全弄清楚的问题。我真的希望在这件事上日志更详细。但就目前而言,我已经让它工作了,而且因为它在公司防火墙后面,所以非安全连接的风险较小。我仍然打算找出根本原因,但就目前而言,这是必须要做的。感谢您的建议。