<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=iso-8859-15">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Good evening at all,<br>
    <br>
    I have successfully installed and configured the new Shibboleth IdP
    v3.2.1, but I have a problem: I don't know how can I change the "<b>ldap-authn-config.xml</b>"
    to use both openLDAP and ActiveDirectory to authenticate my users.<br>
    <br>
    I have tried to follow this page:<br>
    <a
href="https://wiki.shibboleth.net/confluence/display/IDP30/LDAPAuthnConfiguration"><br>
<a class="moz-txt-link-freetext" href="https://wiki.shibboleth.net/confluence/display/IDP30/LDAPAuthnConfiguration">https://wiki.shibboleth.net/confluence/display/IDP30/LDAPAuthnConfiguration</a></a><br>
    <br>
    But I think I need a sort of aggreate authenticators to be able to
    join the "<b>aggregateAuthenticator</b>" (openLDAP) and "<b>adAggregateAuthenticator</b>"
    (Active Directory) on only one Authenticator that I can use and
    configure on my ldap.properties file:
    <p><b>openLDAP beans:</b></p>
    <div class="line number1 index0 alt2"><code class="xml plain"><</code><code
        class="xml keyword">bean</code> <code class="xml color1">name</code><code
        class="xml plain">=</code><code class="xml string">"<b>aggregateAuthenticator</b>"</code>
      <code class="xml color1">class</code><code class="xml plain">=</code><code
        class="xml string">"org.ldaptive.auth.Authenticator"</code><code
        class="xml plain">></code></div>
    <div class="line number2 index1 alt1"><code class="xml spaces">    </code><code
        class="xml plain"><</code><code class="xml keyword">constructor-arg</code>
      <code class="xml color1">index</code><code class="xml plain">=</code><code
        class="xml string">"0"</code> <code class="xml color1">ref</code><code
        class="xml plain">=</code><code class="xml string">"aggregateDnResolver"</code>
      <code class="xml plain">/></code></div>
    <div class="line number3 index2 alt2"><code class="xml spaces">    </code><code
        class="xml plain"><</code><code class="xml keyword">constructor-arg</code>
      <code class="xml color1">index</code><code class="xml plain">=</code><code
        class="xml string">"1"</code> <code class="xml color1">ref</code><code
        class="xml plain">=</code><code class="xml string">"aggregateAuthHandler"</code>
      <code class="xml plain">/></code></div>
    <div class="line number4 index3 alt1"><code class="xml plain"></</code><code
        class="xml keyword">bean</code><code class="xml plain">></code></div>
    <div class="line number5 index4 alt2"><code class="xml plain"><</code><code
        class="xml keyword">bean</code> <code class="xml color1">id</code><code
        class="xml plain">=</code><code class="xml string">"aggregateDnResolver"</code>
      <code class="xml color1">class</code><code class="xml plain">=</code><code
        class="xml string">"org.ldaptive.auth.AggregateDnResolver"</code><code
        class="xml plain">></code></div>
    <div class="line number6 index5 alt1"><code class="xml spaces">    </code><code
        class="xml plain"><</code><code class="xml keyword">constructor-arg</code>
      <code class="xml color1">index</code><code class="xml plain">=</code><code
        class="xml string">"0"</code> <code class="xml color1">ref</code><code
        class="xml plain">=</code><code class="xml string">"dnResolvers"</code>
      <code class="xml plain">/></code></div>
    <div class="line number7 index6 alt2"><code class="xml plain"></</code><code
        class="xml keyword">bean</code><code class="xml plain">></code></div>
    <div class="line number8 index7 alt1"><code class="xml plain"><</code><code
        class="xml keyword">bean</code> <code class="xml color1">id</code><code
        class="xml plain">=</code><code class="xml string">"aggregateAuthHandler"</code>
      <code class="xml color1">class</code><code class="xml plain">=</code><code
        class="xml string">"org.ldaptive.auth.AggregateDnResolver$AuthenticationHandler"</code>
      <code class="xml color1">p:authenticationHandlers-ref</code><code
        class="xml plain">=</code><code class="xml string">"authHandlers"</code>
      <code class="xml plain">/></code></div>
    <div class="line number9 index8 alt2"><code class="xml plain"><</code><code
        class="xml keyword">util:map</code> <code class="xml color1">id</code><code
        class="xml plain">=</code><code class="xml string">"dnResolvers"</code><code
        class="xml plain">></code></div>
    <div class="line number10 index9 alt1"><code class="xml spaces">    </code><code
        class="xml plain"><</code><code class="xml keyword">entry</code>
      <code class="xml color1">key</code><code class="xml plain">=</code><code
        class="xml string">"directory1"</code> <code class="xml color1">value-ref</code><code
        class="xml plain">=</code><code class="xml string">"dnResolver1"</code>
      <code class="xml plain">/></code></div>
    <div class="line number11 index10 alt2"><code class="xml spaces">    </code><code
        class="xml plain"><</code><code class="xml keyword">entry</code>
      <code class="xml color1">key</code><code class="xml plain">=</code><code
        class="xml string">"directory2"</code> <code class="xml color1">value-ref</code><code
        class="xml plain">=</code><code class="xml string">"dnResolver2"</code>
      <code class="xml plain">/></code></div>
    <div class="line number12 index11 alt1"><code class="xml plain"></</code><code
        class="xml keyword">util:map</code><code class="xml plain">></code></div>
    <div class="line number13 index12 alt2"><code class="xml plain"><</code><code
        class="xml keyword">util:map</code> <code class="xml color1">id</code><code
        class="xml plain">=</code><code class="xml string">"authHandlers"</code><code
        class="xml plain">></code></div>
    <div class="line number14 index13 alt1"><code class="xml spaces">    </code><code
        class="xml plain"><</code><code class="xml keyword">entry</code>
      <code class="xml color1">key</code><code class="xml plain">=</code><code
        class="xml string">"directory1"</code> <code class="xml color1">value-ref</code><code
        class="xml plain">=</code><code class="xml string">"authHandler1"</code>
      <code class="xml plain">/></code></div>
    <div class="line number15 index14 alt2"><code class="xml spaces">    </code><code
        class="xml plain"><</code><code class="xml keyword">entry</code>
      <code class="xml color1">key</code><code class="xml plain">=</code><code
        class="xml string">"directory2"</code> <code class="xml color1">value-ref</code><code
        class="xml plain">=</code><code class="xml string">"authHandler2"</code>
      <code class="xml plain">/></code></div>
    <div class="line number16 index15 alt1"><code class="xml plain"></</code><code
        class="xml keyword">util:map</code><code class="xml plain">><br>
      </code><br>
      <code class="xml comments"><!-- define DN resolvers and
        authentication handlers for each directory... --></code>
      <p><b>Active Directory beans:</b><br>
      </p>
      <code class="xml plain"></code><code class="xml plain"></code><code
        class="xml comments"><!-- ldap.properties
        "idp.authn.LDAP.authenticator = adAggregateAuthenticator" --></code>
      <div class="line number53 index52 alt2"><code class="xml spaces"></code><code
          class="xml plain"><</code><code class="xml keyword">bean</code>
        <code class="xml color1">id</code><code class="xml plain">=</code><code
          class="xml string">"<b>adAggregateAuthenticator</b>"</code> <code
          class="xml color1">class</code><code class="xml plain">=</code><code
          class="xml string">"org.ldaptive.auth.Authenticator"</code></div>
      <div class="line number54 index53 alt1"><code class="xml spaces">     
        </code><code class="xml color1">p:authenticationResponseHandlers-ref</code><code
          class="xml plain">=</code><code class="xml string">"adAuthenticationResponseHandler"</code><code
          class="xml plain">></code></div>
      <div class="line number55 index54 alt2"><code class="xml spaces">     
        </code><code class="xml plain"><</code><code class="xml
          keyword">constructor-arg</code> <code class="xml color1">index</code><code
          class="xml plain">=</code><code class="xml string">"0"</code>
        <code class="xml color1">ref</code><code class="xml plain">=</code><code
          class="xml string">"adAggregateDnResolver"</code> <code
          class="xml plain">/></code></div>
      <div class="line number56 index55 alt1"><code class="xml spaces">     
        </code><code class="xml plain"><</code><code class="xml
          keyword">constructor-arg</code> <code class="xml color1">index</code><code
          class="xml plain">=</code><code class="xml string">"1"</code>
        <code class="xml color1">ref</code><code class="xml plain">=</code><code
          class="xml string">"adAggregateAuthHandler"</code> <code
          class="xml plain">/></code></div>
      <div class="line number57 index56 alt2"><code class="xml spaces"></code><code
          class="xml plain"></</code><code class="xml keyword">bean</code><code
          class="xml plain">></code></div>
      <div class="line number58 index57 alt1"><code class="xml spaces"></code><code
          class="xml plain"><</code><code class="xml keyword">bean</code>
        <code class="xml color1">id</code><code class="xml plain">=</code><code
          class="xml string">"adAuthenticationResponseHandler"</code> <code
          class="xml color1">class</code><code class="xml plain">=</code><code
          class="xml string">"org.ldaptive.auth.ext.ActiveDirectoryAuthenticationResponseHandler"</code>
        <code class="xml plain">/></code></div>
      <div class="line number59 index58 alt2"><code class="xml spaces"></code><code
          class="xml plain"><</code><code class="xml keyword">bean</code>
        <code class="xml color1">id</code><code class="xml plain">=</code><code
          class="xml string">"adAggregateDnResolver"</code> <code
          class="xml color1">class</code><code class="xml plain">=</code><code
          class="xml string">"org.ldaptive.auth.AggregateDnResolver"</code><code
          class="xml plain">></code></div>
      <div class="line number60 index59 alt1"><code class="xml spaces">     
        </code><code class="xml plain"><</code><code class="xml
          keyword">constructor-arg</code> <code class="xml color1">index</code><code
          class="xml plain">=</code><code class="xml string">"0"</code>
        <code class="xml color1">ref</code><code class="xml plain">=</code><code
          class="xml string">"adDnResolvers"</code> <code class="xml
          plain">/></code></div>
      <div class="line number61 index60 alt2"><code class="xml spaces"></code><code
          class="xml plain"></</code><code class="xml keyword">bean</code><code
          class="xml plain">></code></div>
      <div class="line number62 index61 alt1"><code class="xml spaces"></code><code
          class="xml plain"><</code><code class="xml keyword">bean</code>
        <code class="xml color1">id</code><code class="xml plain">=</code><code
          class="xml string">"adAggregateAuthHandler"</code> <code
          class="xml color1">class</code><code class="xml plain">=</code><code
          class="xml string">"org.ldaptive.auth.AggregateDnResolver$AuthenticationHandler"</code></div>
      <div class="line number63 index62 alt2"><code class="xml spaces">     
        </code><code class="xml color1">p:authenticationHandlers-ref</code><code
          class="xml plain">=</code><code class="xml string">"adAuthHandlers"</code>
        <code class="xml plain">/></code></div>
      <div class="line number64 index63 alt1"><code class="xml spaces"></code><code
          class="xml plain"><</code><code class="xml keyword">util:map</code>
        <code class="xml color1">id</code><code class="xml plain">=</code><code
          class="xml string">"adDnResolvers"</code><code class="xml
          plain">></code></div>
      <div class="line number65 index64 alt2"><code class="xml spaces">   
        </code><code class="xml plain"><</code><code class="xml
          keyword">entry</code> <code class="xml color1">key</code><code
          class="xml plain">=</code><code class="xml string">"directory1_filter1"</code>
        <code class="xml color1">value-ref</code><code class="xml plain">=</code><code
          class="xml string">"adDnResolver1"</code> <code class="xml
          plain">/></code></div>
      <div class="line number67 index66 alt2"><code class="xml spaces">   
        </code><code class="xml plain"><</code><code class="xml
          keyword">entry</code> <code class="xml color1">key</code><code
          class="xml plain">=</code><code class="xml string">"directory2_filter3"</code>
        <code class="xml color1">value-ref</code><code class="xml plain">=</code><code
          class="xml string">"adDnResolver2"</code> <code class="xml
          plain">/></code></div>
      <div class="line number69 index68 alt2"><code class="xml spaces"></code><code
          class="xml plain"></</code><code class="xml keyword">util:map</code><code
          class="xml plain">></code><br>
      </div>
    </div>
    <p>
      <code class="xml comments"><!-- define DN resolvers and
        authentication handlers for each directory... --></code></p>
    <p><br>
    </p>
    Someone of you already know a solution for this use case? What I
    need to do to solve this situation and authenticate the users
    provided by both directories?<br>
    <br>
    I didn't find a class on ldaptive javadocs that can help me...<br>
    <br>
    Can you help me, please?<br>
    <br>
    Thank you very much for all help that you can give to me.<br>
    <p><br>
    </p>
    <p>Best Regards,<br>
    </p>
    <pre class="moz-signature" cols="72">-- 
Marco Malavolti
Consortium GARR - Servizio IDEM GARR AAI
Via dei Tizii, 6 - I-00185 (ROMA)
CF: 37284570583 - PI:07577141000
Skype: marco.mala</pre>
  </body>
</html>