Jenkins和Active Directory身份验证

时间:2012-07-23 07:50:21

标签: sockets active-directory jenkins

我们正在尝试设置Jenkins以自动化构建。我们已经使用了Hudson很长一段时间,但由于Active Directory身份验证支持,我们现在正在迁移到Jenkins。已经安装了AD-plugin: https://wiki.jenkins-ci.org/display/JENKINS/Active+Directory+plugin 据我所知,Jenkins正在尝试连接到AD服务器但是已经关闭了#34; socket#34;错误。这是堆栈跟踪的一部分:

Failed to test the validity of the user name <SOMEUSER>
org.acegisecurity.BadCredentialsException: Failed to retrieve user information for <SOMEUSER>; nested exception is javax.naming.ServiceUnavailableException: <SOMENAME>.<SOMENAME>:636; socket closed; remaining name 'DC=<SOMENAME>,DC=<SOMENAME>'
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:306)
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:190)
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:134)
at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:30)

我100%确定,凭据是正确的。运行Jenkins的服务器位于域中,因此从这一点来说一切正常。 我想是詹金斯隐藏了一些错误信息,因此我无法准确指出问题...

1 个答案:

答案 0 :(得分:5)

在“管理Jenkins”下&gt; “配置系统”:

  • 启用安全性
  • 安全领域=活动目录
  • 输入您的“域名”
  • 点击右侧附近的“高级”(位于(?)按钮下方)
  • 添加域控制器
  • 网站下:添加您需要的信息(OU =&lt;&gt;,DC =&lt;&gt;等) - 根据您的需要 - 我们有5个OU和3个DC场
  • 绑定DN 字段下添加您的绑定用户(我们的 CN =,OU =,DC =,DC =,DC =
  • 绑定密码字段
  • 下添加绑定密码

设置完所有这些(或根据需要设置): 单击测试按钮(它应该位于右侧的“绑定密码”字段下 - 靠近(?)帮助按钮。

如果您没有看到这些,请告诉我。

<强> + =========================================== ===================== +

修改

对于Bind用户名,可以试试这个:

CN =,OU =平稳,OU =平稳,OU =平稳,OU =平稳,DC =平稳,DC =平稳,DC =平稳

LDAP服务名称或绑定服务名称。我还没有看到

CN = SECOND_NAME \,FIRST_NAME - USER_ID

格式之前(不是说它错了,我不知道)。像

这样的东西

CN =我的LDAP SVC帐户,OU = SMTH,OU =服务,OU =帐户,OU =我,DC =域,DC = com