我使用Jenkins和LDAP服務器作爲我的安全領域。授權類型設置爲「基於項目的矩陣授權策略」(PBMAS)。授權/ LDAP本身按預期工作,但是當我想添加新用戶(到PBMAS下的表)時,Jenkins會自動將以下兩行添加到其配置文件(位於/var/lib/jenkins/config.xml
下),至<securityRealm>
標記:Jenkins LDAP - 添加用戶
<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的,詹金斯v1.550,LDAP插件1.8(我知道有新的版本,但我寧願不更新如果不是必要的話,尤其是因爲聲明新版本與當前版本不兼容)。
我可以以某種方式解決此問題,以便在添加新用戶時不會自動將這些行添加到Jenkins配置中(我需要爲每個用戶提供總體讀取權限,否則他們在日誌記錄中看不到任何內容並出現錯誤在)?
事實證明,Chrome預先在LDAP安全領域的隱藏高級選項中填充這些字段(Manager DN,Manager Password),因此當我保存「Configure Global Security」頁面時,這些值也保存在Jenkins配置文件中(如問題中所述)。當我在保存頁面之前刪除這些文本字段時,問題自然不會發生......謝謝! – jvincek