【问题标题】:Jenkins LDAP - adding userJenkins LDAP - 添加用户
【发布时间】:2014-09-05 12:41:20
【问题描述】:

我使用 Jenkins 和 LDAP 服务器作为我的安全领域。授权类型设置为“基于项目的矩阵授权策略”(PBMAS)。授权/LDAP 本身按预期工作,但是当我想添加新用户(到 PBMAS 下的表中)时,Jenkins 会自动将以下两行添加到其配置文件(位于 /var/lib/jenkins/config.xml 下)到 <securityRealm> 标记:

<managerDN>my_username</managerDN>
<managerPassword>caVSGEy5X7J=</managerPassword>

密码已组成,但格式相同,managerDN 包含我的 Jenkins (LDAP) 用户名​​。现在,所有后续登录尝试都失败并显示以下消息(在 /var/log/jenkins/jenkins.log 中找到):

WARNING: Failed to search LDAP for username=my_username
org.acegisecurity.ldap.LdapDataAccessException: Failed to obtain
InitialDirContext due to unexpected exception; nested exception is
javax.naming.InvalidNameException: [LDAP: error code 34 - invalid DN]
( ... stacktrace continues ... )

服务器是CentOS,Jenkins v1.550,LDAP插件1.8(我知道有新版本,但如果没有必要我宁愿不更新,特别是因为据说新版本与当前版本不兼容) .

我能否以某种方式解决此问题,以便在我添加新用户时这些行不会自动添加到 Jenkins 配置中(我需要为每个用户授予整体读取权限,因为否则他们看不到任何内容并在登录时出现错误)?

【问题讨论】:

    标签: jenkins ldap


    【解决方案1】:

    刚刚在我的环境中遇到了同样的问题,因为我添加了一个用户,但找不到它破坏所有其他用户的身份验证的原因。

    当您点击保存时,它看起来像是 LDAP 插件中的一个错误,它假定您的登录用户也是查询 ldap 的用户。 如果您的 ldap 不需要任何管理员用户和密码,您应该从 LDAP 领域下的高级选项中删除这些凭据,然后您就可以开始了。

    【讨论】:

    • 哦,我的...事实证明,Chrome 会在 LDAP 安全领域的隐藏高级选项中预先填写这些字段(经理 DN、经理密码),因此当我保存“配置全局安全" 页面,这些值也保存在 Jenkins 配置文件中(如问题中所述)。当我在保存页面之前删除这些文本字段时,问题自然不会发生......谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 2014-02-05
    • 1970-01-01
    相关资源
    最近更新 更多