【问题标题】:LDAP authentication not working with JenkinsLDAP 身份验证不适用于 Jenkins
【发布时间】:2017-10-10 01:18:59
【问题描述】:

请帮我解决以下问题:

我正在尝试在我的 Jenkins 工具中配置 LDAP 身份验证。我已经在 J​​enkins 上为 LDAP 身份验证完成了以下设置,但我仍然无法登录。

服务器:ldaps://rootdc1.myweb.com:636

根 DN : DC=MYWEB,DC=COM

用户搜索库:DC=MYWEB,DC=COM

用户搜索过滤器:sAMAccountName={0}

群组搜索库:DC=MYWEB,DC=COM

经理 DN:CN=rhunt,OU=ApplicationUsers,DC=MYWEB,DC=COM

以下是尝试登录时出现的错误:

登录信息无效。请再试一次。 再试一次 如果您是系统管理员并怀疑这是配置问题,请参阅服务器控制台输出了解更多详细信息。

提前致谢!

【问题讨论】:

  • 你看过服务器控制台输出了吗?它是否提供了有关登录问题的更多详细信息?
  • 是的,它在控制台输出中提供有关登录身份验证的信息。以下是错误代码:
  • javax.naming.NameNotFoundException:[LDAP:错误代码 32 - 0000208D:NameErr:DSID-0310020A,问题 2001(NO_OBJECT
  • 错误信息表明您的LDAP目录中没有“CN=rhunt,OU=ApplicationUsers,DC=MYWEB,DC=COM”这样的DN。您能否展开 DIT 并检查 CN=rhunt 的层次结构和属性是否正确?您可以使用 Apache Directory Studio 等 LDAP 浏览器进行连接。
  • 在 Jenkins 配置全局安全中,我们只需要传递以下参数即可通过 LDAP 身份验证成功连接和登录: 服务器:ldaps://rootdc1.myweb.com:636 根 DN:DC= DC= MYWEB,DC=COM 用户搜索过滤器:sAMAccountName={0} 管理员 DN:CN=rhunt,OU=ApplicationUsers,DC=MYWEB,DC=COM 管理员密码:********

标签: jenkins ldap


【解决方案1】:

在 Jenkins 配置全局安全性中,我们只需将参数传递给以下选项卡即可通过 LDAP 身份验证成功连接,其余字段留空:

服务器:ldaps://rootdc1.myweb.com:636

根 DN:DC= DC=MYWEB,DC=COM

用户搜索过滤器:sAMAccountName={0}

经理 DN:CN=rhunt,OU=ApplicationUsers,DC=MYWEB,DC=COM

管理员密码:********

【讨论】:

  • 这有帮助!我将用户搜索过滤器从 uid 切换到 sAMAccountName={0} 并且它起作用了:)
【解决方案2】:

在JenkinsLDAP Plugin中,有一个方法normalizeUserSearchBase

return userSearchBase + "," + rootDN; 连接 userSearchBase 和 rootDN。

因此,您应该在User search base 字段中填写从根DN 中删除的值。在你的情况下留空。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-19
    • 2020-09-08
    • 2016-05-03
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-04
    相关资源
    最近更新 更多