Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Jenkins中使用LDAP登录_Jenkins_Ldap - Fatal编程技术网

无法在Jenkins中使用LDAP登录

无法在Jenkins中使用LDAP登录,jenkins,ldap,Jenkins,Ldap,为了加强Jenkins CI服务器(在Ubuntu 14.04上运行1.614)的安全性,我昨天配置了LDAP插件。昨天一切似乎都很好,我能够登录并手动配置和运行一些构建 然而,今天早上,没有人——包括我自己——能够登录 我们被告知要查看服务器控制台输出-但是,/var/log/jenkins/jenkins.log中没有任何记录。我找到了-但是在/usr/lib/jenkins/(我的jenkins主目录)中没有这样的日志文件 我在尝试了简单的groovy疑难解答脚本,但每个查询都返回: Ch

为了加强Jenkins CI服务器(在Ubuntu 14.04上运行1.614)的安全性,我昨天配置了LDAP插件。昨天一切似乎都很好,我能够登录并手动配置和运行一些构建

然而,今天早上,没有人——包括我自己——能够登录

我们被告知要查看服务器控制台输出-但是,
/var/log/jenkins/jenkins.log
中没有任何记录。我找到了-但是在
/usr/lib/jenkins/
(我的jenkins主目录)中没有这样的日志文件

我在尝试了简单的groovy疑难解答脚本,但每个查询都返回:

Checking the name 'wibble'...
  It is NOT a group, reason: No such property: Jenkins for class: RemoteClass
  It is NOT a user, reason: No such property: Jenkins for class: RemoteClass
我的安全配置:

<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
<securityRealm class="hudson.security.LDAPSecurityRealm" plugin="ldap@1.11">
    <server>server.ip.address</server>
    <rootDN>dc=domain,dc=location,dc=au</rootDN>
    <inhibitInferRootDN>false</inhibitInferRootDN>
    <userSearchBase>dc=domain,dc=location,dc=au</userSearchBase>
    <userSearch>sAMAccountName={0}</userSearch>
    <groupSearchBase>ou=groups</groupSearchBase>
    <groupSearchFilter>(&amp; (cn={0}) (objectclass=group) )</groupSearchFilter>
    <groupMembershipStrategy class="jenkins.security.plugins.ldap.FromGroupSearchLDAPGroupMembershipStrategy">
        <filter>(&amp;(objectCategory=group)(member={0}))</filter>
    </groupMembershipStrategy>
    <managerDN>cn=administrator,cn=users,dc=domain,dc=location,dc=au</managerDN>
    <managerPasswordSecret>wurble-bop-de-boo</managerPasswordSecret>
    <disableMailAddressResolver>false</disableMailAddressResolver>
    <displayNameAttributeName>displayname</displayNameAttributeName>
    <mailAddressAttributeName>mail</mailAddressAttributeName>
    <userIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
    <groupIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
</securityRealm>
true
server.ip.address
dc=域,dc=位置,dc=au
假的
dc=域,dc=位置,dc=au
sAMAccountName={0}
ou=组
(&;(cn={0})(objectclass=group))
(&;(objectCategory=group)(member={0}))
cn=管理员,cn=用户,dc=域,dc=位置,dc=au
乌尔布尔波普德布酒店
假的
显示名
邮件

一夜之间没有进行任何配置更改,我们使用这些相同的凭据/设置从大约3或4个不同的应用程序进行其他LDAP集成,它们都工作正常。

在“配置全局安全性”页面上添加或修改用户后,我遇到了类似的问题。我认为这就像@davidrv87所说的:Chrome自动填充一些隐藏的“用户名”和“密码”字段,并破坏LDAP设置

结果

在主Jenkins
config.xml
文件中,错误设置显示为
下的新子节点:


+我的用户名
+uT5S1rfROmNBuEsw8z=
如何修复

  • 编辑
    ~jenkins/config.xml
  • 删除
    managerDN
    managerPasswordSecret
    节点(行)
  • 重新启动Jenkins服务

  • 现在LDAP登录应该可以再次工作了

    你提到了
    /usr/lib
    /usr/log
    (这是否存在?),但看看,日志应该在
    /var/log/jenkins
    中。我曾经遇到过类似的问题,如果我没记错的话,就是Chrome的自动完成,在LDAP的高级设置中完成了管理员密码,即使它不可见。你可能想检查一下,以防万一。@Christopher你说得对,那是个打字错误,我已经改正了it@davidrv87-这是在Firefox中。我没有设置任何浏览器来记住密码这正是我的问题将Jenkins配置克隆到另一台服务器后,我无法登录,Jenkins日志中出现javax.naming.ServiceUnavailableException错误。删除这两个设置解决了问题。
      <securityRealm class="hudson.security.LDAPSecurityRealm" plugin="ldap@1.11">
    +      <managerDN>myusername</managerDN>
    +      <managerPasswordSecret>uT5S1rfROmNBuEsw8z=</managerPasswordSecret>