Jenkins LDAP - 添加用户

jvi*_*cek 3 ldap jenkins

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

<managerDN>my_username</managerDN>
<managerPassword>caVSGEy5X7J=</managerPassword>
Run Code Online (Sandbox Code Playgroud)

密码已组成,但格式相同,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 ... )
Run Code Online (Sandbox Code Playgroud)

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

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

小智 6

刚刚在我的环境中遇到了与添加用户相同的问题,但无法找到为什么它破坏了所有其他用户的身份验证.

它看起来像LDAP插件中的一个错误,因为您点击它保存它假定您的登录用户也是查询ldap的用户.如果您的ldap不需要任何管理员用户和密码,您应该从LDAP领域的高级选项中删除这些凭据,您可以继续使用.

  • 哦,我的......事实证明,Chrome在LDAP安全领域隐藏的高级选项中预填充这些字段(Manager DN,Manager Password),因此当我保存"Configure Global Security"页面时,这些值也会被保存在Jenkins配置文件中(如问题中所述).当我在保存页面之前删除这些文本字段时,问题自然不会发生...谢谢! (4认同)