com.jalios.ldap
Class LDAPMapper

java.lang.Object
  extended by com.jalios.ldap.LDAPMapper

public class LDAPMapper
extends Object

This class allows simpler access to LDAP using following ldap properties. It is not thread safe, use one LDAPMapper instance per thread.

Since:
jcms-4.1.1-SP4 / jcms-5.5.0
Author:
Olivier Jaquemet

Field Summary
protected  LDAPConfiguration conf
           
protected  boolean isConnected
           
protected  netscape.ldap.LDAPException lastException
           
protected  netscape.ldap.LDAPConnection ldc
           
static String REVISION
           
 
Constructor Summary
LDAPMapper(LDAPConfiguration conf)
          Creates a new mapper and establish the connection using given LDAPConfiguration.
 
Method Summary
 boolean authenticate(String dn, String password)
          Try to establish a new connection and to authenticate to the ldap server specified in the LDAPConfiguration of this mapper, using the given dn connect and password.
 void disconnect()
          Disconnect the underlying LDAPConnection of this mapper.
 ArrayList<netscape.ldap.LDAPEntry> getGroupsLDAPEntries(String dn, String[] attrs)
          Return the groups LDAP Entry for the given dn (dn of a user or a sub-group).
 netscape.ldap.LDAPException getLastException()
           
 netscape.ldap.LDAPConnection getLDAPConnection()
          Returns the LDAPConnection instance initialized during the construction of this LDAPMapper.
 ArrayList<netscape.ldap.LDAPEntry> getMatchingLDAPEntries(String baseDN, String searchFilter, String[] attrs)
          Return the matching LDAP Entries for the given login (uses the LDAPConfiguration suffix (search baseDN) and user filter (search filter)).
 netscape.ldap.LDAPEntry getUserLDAPEntry(String login, String[] attrs)
          Return the first matching LDAP Entry for the given login.
 boolean isConnected()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REVISION

public static final String REVISION
See Also:
Constant Field Values

conf

protected final LDAPConfiguration conf

ldc

protected final netscape.ldap.LDAPConnection ldc

isConnected

protected boolean isConnected

lastException

protected netscape.ldap.LDAPException lastException
Constructor Detail

LDAPMapper

public LDAPMapper(LDAPConfiguration conf)
Creates a new mapper and establish the connection using given LDAPConfiguration.
IMPORTANT: Don't forget to call disconnect() when finished with this mapper.
If an error occurs during connection, the LDAPException describing the error is accessible using getLastException()

Parameters:
conf - the LDAPConfiguration to use for this mapper
Method Detail

getUserLDAPEntry

public netscape.ldap.LDAPEntry getUserLDAPEntry(String login,
                                                String[] attrs)
Return the first matching LDAP Entry for the given login.
Uses : - LDAPConfiguration.getSuffix() (search baseDN) - LDAPConfiguration.getUserFilter() (search filter)

Parameters:
login - the login of the member of which to retrieve LDAPEntry.
attrs - attributes you want returned in the result.
Returns:
the first LDAPEntry retrieved from LDAP, or null if member is not found or if an error occured (in which case getLastException(). A warning message is logged if more than one entries have been found (in which case you should refine your user search filter).
Since:
jcms-5.7.0

getGroupsLDAPEntries

public ArrayList<netscape.ldap.LDAPEntry> getGroupsLDAPEntries(String dn,
                                                               String[] attrs)
Return the groups LDAP Entry for the given dn (dn of a user or a sub-group).
Uses : - LDAPConfiguration.getGroupSuffix() (search baseDN) - LDAPConfiguration.getGroupFilter() (search filter)

Parameters:
dn - the dn of the user of which to retrieve groups' LDAPEntry.
attrs - attributes you want returned in the result.
Returns:
a list of LDAPEntry retrieved from LDAP, or null if no group is found or if an error occured (in which case getLastException().
Since:
jcms-5.7.0

getMatchingLDAPEntries

public ArrayList<netscape.ldap.LDAPEntry> getMatchingLDAPEntries(String baseDN,
                                                                 String searchFilter,
                                                                 String[] attrs)
Return the matching LDAP Entries for the given login (uses the LDAPConfiguration suffix (search baseDN) and user filter (search filter)).
Does not return entries that may be available on referals servers.

Parameters:
baseDN - the base distinguished name from which to search
searchFilter - the searchFilter to use for with method LDAPConnection.search(String, int, String, String[], boolean).
attrs - attributes you want returned in the result.
Returns:
an ArrayList of LDAPEntry retrieved from LDAP, (never return null), LDAPException is available using getLastException() if error occured during search.
Since:
jcms-5.7.0

authenticate

public boolean authenticate(String dn,
                            String password)
Try to establish a new connection and to authenticate to the ldap server specified in the LDAPConfiguration of this mapper, using the given dn connect and password. Disconnect immediately.

Parameters:
dn - the dn to use to try au
password - the password to use for authentication.
Returns:
true if authentication succeeded, false otherwise, in which case the error is available using getLastException()

getLastException

public netscape.ldap.LDAPException getLastException()
Returns:
Returns the last LDAPException thrown during an operation.

getLDAPConnection

public netscape.ldap.LDAPConnection getLDAPConnection()
Returns the LDAPConnection instance initialized during the construction of this LDAPMapper.
Before using this method, you can check that the connection has been properly established using isConnected().
You should not disconnect using the LDAPConnection.disconnect() method of the returned LDAPConnection object, instead, call the disconnect() method of this LDAPMapper.

Returns:
Returns the LDAPConnection instance used by this LDAPMapper.

isConnected

public boolean isConnected()
Returns:
true if this a successful LDAP Connection was establish in constructor of this mapper.

disconnect

public void disconnect()
Disconnect the underlying LDAPConnection of this mapper.



Copyright © 2001-2007 Jalios SA. All Rights Reserved.