Java Jenkins到LDAP的连接

Java Jenkins到LDAP的连接,java,ssl,jenkins,active-directory,ldap,Java,Ssl,Jenkins,Active Directory,Ldap,好吧,我完全被难住了。我正在为MacOSX运行Jenkins应用程序(v1.635)。我正在尝试通过LDAP安全域连接到Active Directory。无论我尝试了什么(我已经尝试了30多个变体),登录都会失败,并且没有任何内容写入jenkins.log文件 我已经安装了ApacheDirectoryStudio,它的连接完美无瑕,所以我知道这是Jenkins的问题(而不是网络或ACL问题) LDAP服务器使用自签名SSL证书,我将其安装到相关的cacerts文件中 这是我的LDAP配置(不包

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

我已经安装了ApacheDirectoryStudio,它的连接完美无瑕,所以我知道这是Jenkins的问题(而不是网络或ACL问题)

LDAP服务器使用自签名SSL证书,我将其安装到相关的cacerts文件中

这是我的LDAP配置(不包括敏感的公司内容)

非常感谢您的帮助。即使让日志文件吐出一些信息也很好

谢谢

编辑#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:我必须参加一个半小时的会议,所以我的回复会被延迟。很抱歉。

所以这并不理想,但我能够使用普通ldap连接(而不是ldap)建立连接。我所能想到的是,Apache Directory Studio在建立连接方面比Jenkins更聪明。我怀疑自签名SSL证书链可能存在Jenkins无法完全理解的问题。我真希望在这件事上有更多的详细记录。但现在,我已经让它工作了,因为它位于公司防火墙后面,所以非安全连接的风险较小。我仍然打算找出根本原因,但现在,这将不得不做。谢谢你的建议。

我知道这不是网络问题,因为我可以通过ApacheDirectoryStudio进行连接。这里唯一的区别是如果ApacheDirectoryStudio使用比jenkins更长的超时时间,“用户搜索库”看起来可疑。应该是FQDN。Newark跟踪将显示真正的答案。Jenkins和Apache Directory Studio是否在同一台机器上运行?哦,我选中了“禁用Ldap电子邮件解析器”复选框。我不知道这是否有助于解决问题,但这是我做出并保持的改变。
    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]