org.ldaptive.auth
Class AggregateDnResolver

java.lang.Object
  extended by org.ldaptive.auth.AggregateDnResolver
All Implemented Interfaces:
DnResolver

public class AggregateDnResolver
extends Object
implements DnResolver

Looks up a user's DN using multiple DN resolvers. Each DN resolver is invoked on a separate thread. If multiple DNs are allowed then the first one retrieved is returned.

Version:
$Revision: 3097 $ $Date: 2015-02-27 14:11:32 -0500 (Fri, 27 Feb 2015) $
Author:
Middleware Services

Nested Class Summary
static class AggregateDnResolver.AuthenticationHandler
          Used in conjunction with an AggregateDnResolver to authenticate the resolved DN.
 
Field Summary
protected  org.slf4j.Logger logger
          Logger for this class.
 
Constructor Summary
AggregateDnResolver()
          Default constructor.
AggregateDnResolver(Map<String,DnResolver> resolvers)
          Creates a new aggregate dn resolver.
AggregateDnResolver(Map<String,DnResolver> resolvers, ExecutorService es)
          Creates a new aggregate dn resolver.
 
Method Summary
protected  void finalize()
          
 boolean getAllowMultipleDns()
          Returns whether DN resolution should fail if multiple DNs are found.
 Map<String,DnResolver> getDnResolvers()
          Returns the DN resolvers to aggregate over.
 String resolve(String user)
          Attempts to find the LDAP DN for the supplied user.
 void setAllowMultipleDns(boolean b)
          Sets whether DN resolution should fail if multiple DNs are found If false an exception will be thrown if resolve(String) finds that more than one DN resolver returns a DN.
 void setDnResolvers(Map<String,DnResolver> resolvers)
          Sets the DN resolvers to aggregate over.
 void shutdown()
          Invokes ExecutorService.shutdown() on the underlying executor service.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.slf4j.Logger logger
Logger for this class.

Constructor Detail

AggregateDnResolver

public AggregateDnResolver()
Default constructor.


AggregateDnResolver

public AggregateDnResolver(Map<String,DnResolver> resolvers)
Creates a new aggregate dn resolver.

Parameters:
resolvers - dn resolvers

AggregateDnResolver

public AggregateDnResolver(Map<String,DnResolver> resolvers,
                           ExecutorService es)
Creates a new aggregate dn resolver.

Parameters:
resolvers - dn resolvers
es - executor service for invoking DN resolvers
Method Detail

getDnResolvers

public Map<String,DnResolver> getDnResolvers()
Returns the DN resolvers to aggregate over.

Returns:
map of label to dn resolver

setDnResolvers

public void setDnResolvers(Map<String,DnResolver> resolvers)
Sets the DN resolvers to aggregate over.

Parameters:
resolvers - to set

getAllowMultipleDns

public boolean getAllowMultipleDns()
Returns whether DN resolution should fail if multiple DNs are found.

Returns:
whether an exception will be thrown if multiple DNs are found

setAllowMultipleDns

public void setAllowMultipleDns(boolean b)
Sets whether DN resolution should fail if multiple DNs are found If false an exception will be thrown if resolve(String) finds that more than one DN resolver returns a DN. Otherwise the first DN found is returned.

Parameters:
b - whether multiple DNs are allowed

resolve

public String resolve(String user)
               throws LdapException
Attempts to find the LDAP DN for the supplied user.

Specified by:
resolve in interface DnResolver
Parameters:
user - to find DN for
Returns:
user DN
Throws:
LdapException - if an LDAP error occurs

shutdown

public void shutdown()
Invokes ExecutorService.shutdown() on the underlying executor service.


finalize

protected void finalize()
                 throws Throwable

Overrides:
finalize in class Object
Throws:
Throwable


Copyright © 2003-2015 Virginia Tech. All Rights Reserved.