2014-07-15 121 views
3

我使用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配置中(我需要爲每個用戶提供總體讀取權限,否則他們在日誌記錄中看不到任何內容並出現錯誤在)?

回答

6

剛剛在我的環境中遇到同樣的問題,因爲我添加了一個用戶,並找不到爲什麼會打破所有其他用戶的身份驗證。

它看起來像一個LDAP插件中的錯誤,當你點擊保存時,它假定你登錄的用戶也是查詢LDAP的用戶。 如果您的ldap不需要任何管理員用戶名和密碼,則應該從LDAP領域下的高級選項中刪除這些憑據,您很好。

+4

事實證明,Chrome預先在LDAP安全領域的隱藏高級選項中填充這些字段(Manager DN,Manager Password),因此當我保存「Configure Global Security」頁面時,這些值也保存在Jenkins配置文件中(如問題中所述)。當我在保存頁面之前刪除這些文本字段時,問題自然不會發生......謝謝! – jvincek

相關問題