Jenkins AD Auth 具有扩展的用户搜索基础

Jenkins AD Auth 具有扩展的用户搜索基础

我正在尝试使用相当大的 Active Directory 实例来通过 Jenkins 对用户进行身份验证。

使用以下设置可达到很好的效果:

<server>ldaps://dc.example.net:636</server>
<rootDN>OU=EMEA,DC=global,DC=example,DC=net</rootDN>
<inhibitInferRootDN>false</inhibitInferRootDN>
<userSearchBase>OU=Users</userSearchBase>
<userSearch>(&amp;(c=DE)(|(company~=examplea)(company~=exampleb))(&amp;(objectClass=User)(objectClass=Person)(sAMAccountName={0})))</userSearch>
<groupSearchFilter>(&amp; (cn={0}) (objectclass=group) )</groupSearchFilter>
<groupMembershipStrategy class="jenkins.security.plugins.ldap.FromUserRecordLDAPGroupMembershipStrategy"/>
<managerDN>CN=sysauth,OU=EMEA,DC=global,DC=example,DC=net</managerDN>
<managerPasswordSecret>not-the-password</managerPasswordSecret>
<disableMailAddressResolver>false</disableMailAddressResolver>
<extraEnvVars class="linked-hash-map">
  <entry>
    <string>com.sun.jndi.ldap.connect.timeout</string>
    <string>5000000</string>
  </entry>
  <entry>
    <string>com.sun.jndi.ldap.read.timeout</string>
    <string>5000000</string>
  </entry>
</extraEnvVars>
<displayNameAttributeName>displayname</displayNameAttributeName>
<mailAddressAttributeName>mail</mailAddressAttributeName>
<userIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>
<groupIdStrategy class="jenkins.model.IdStrategy$CaseInsensitive"/>

请注意,这仅在rootDN包含时才有效OU=EMEA,如工作代码片段中所示。一旦rootDN更改为DC=global,DC=example,DC=net身份验证就会失败。

userSearchBase奇怪的是,如果它OU=Users,OU=EMEA应该等于有效的设置,它也会失败。

因为有需要访问位于某处的团体OU=not-EMEA,DC=global,DC=example,DC=net,所以rootDN必须如此DC=global,DC=example,DC=net

我尝试了以下方法:

  • 增加com.sun.jndi.ldap.connect.timeout- com.sun.jndi.ldap.read.timeout> 的值5000将为“正常”
  • 玩弄空rootDN

相关内容