|
Spring LDAP | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.ldap.core.LdapTemplate
public class LdapTemplate
Executes core LDAP functionality and helps to avoid common errors, relieving the user of the burden of looking up contexts, looping through NamingEnumerations and closing contexts.
Note for Active Directory (AD) users: AD servers are apparently unable
to handle referrals automatically, which causes a
PartialResultException to be thrown whenever a referral is
encountered in a search. To avoid this, set the
ignorePartialResultException property to true.
There is currently no way of manually handling these referrals in the form of
ReferralException, i.e. either you get the exception (and your
results are lost) or all referrals are ignored (if the server is unable to
handle them properly. Neither is there any simple way to get notified that a
PartialResultException has been ignored (other than in the log).
ContextSource| Nested Class Summary | |
|---|---|
static class |
LdapTemplate.MappingCollectingNameClassPairCallbackHandler<T>
A NameClassPairCallbackHandler that passes the NameClassPairs
found to a NameClassPairMapper and collects the results in a list. |
static class |
LdapTemplate.NullDirContextProcessor
Do-nothing implementation of DirContextProcessor. |
| Constructor Summary | |
|---|---|
LdapTemplate()
Constructor for bean usage. |
|
LdapTemplate(ContextSource contextSource)
Constructor to setup instance directly. |
|
| Method Summary | ||
|---|---|---|
void |
afterPropertiesSet()
|
|
void |
authenticate(LdapQuery query,
String password)
Utility method to perform a simple LDAP 'bind' authentication. |
|
|
authenticate(LdapQuery query,
String password,
AuthenticatedLdapEntryContextMapper<T> mapper)
Utility method to perform a simple LDAP 'bind' authentication. |
|
boolean |
authenticate(Name base,
String filter,
String password)
Utility method to perform a simple LDAP 'bind' authentication. |
|
boolean |
authenticate(Name base,
String filter,
String password,
AuthenticatedLdapEntryContextCallback callback)
Utility method to perform a simple LDAP 'bind' authentication. |
|
boolean |
authenticate(Name base,
String filter,
String password,
AuthenticatedLdapEntryContextCallback callback,
AuthenticationErrorCallback errorCallback)
Utility method to perform a simple LDAP 'bind' authentication. |
|
boolean |
authenticate(Name base,
String filter,
String password,
AuthenticationErrorCallback errorCallback)
Utility method to perform a simple LDAP 'bind' authentication. |
|
boolean |
authenticate(String base,
String filter,
String password)
Utility method to perform a simple LDAP 'bind' authentication. |
|
boolean |
authenticate(String base,
String filter,
String password,
AuthenticatedLdapEntryContextCallback callback)
Utility method to perform a simple LDAP 'bind' authentication. |
|
boolean |
authenticate(String base,
String filter,
String password,
AuthenticatedLdapEntryContextCallback callback,
AuthenticationErrorCallback errorCallback)
Utility method to perform a simple LDAP 'bind' authentication. |
|
boolean |
authenticate(String base,
String filter,
String password,
AuthenticationErrorCallback errorCallback)
Utility method to perform a simple LDAP 'bind' authentication. |
|
void |
bind(DirContextOperations ctx)
Bind the data in the supplied context in the tree. |
|
void |
bind(Name dn,
Object obj,
Attributes attributes)
Create an entry in the LDAP tree. |
|
void |
bind(String dn,
Object obj,
Attributes attributes)
Create an entry in the LDAP tree. |
|
void |
create(Object entry)
Create the given entry in the LDAP directory. |
|
void |
delete(Object entry)
Delete an entry from the LDAP directory. |
|
protected void |
deleteRecursively(DirContext ctx,
Name name)
Delete all subcontexts including the current one recursively. |
|
|
executeReadOnly(ContextExecutor<T> ce)
Perform an operation (or series of operations) on a read-only context. |
|
|
executeReadWrite(ContextExecutor<T> ce)
Perform an operation (or series of operations) on a read-write context. |
|
|
find(LdapQuery query,
Class<T> clazz)
Search for entries in the LDAP directory. |
|
|
find(Name base,
Filter filter,
SearchControls searchControls,
Class<T> clazz)
Find all entries in the LDAP directory of a given type that matches the specified filter. |
|
|
findAll(Class<T> clazz)
Find all entries in the LDAP directory of a given type. |
|
|
findAll(Name base,
SearchControls searchControls,
Class<T> clazz)
Find all entries in the LDAP directory of a given type. |
|
|
findByDn(Name dn,
Class<T> clazz)
Read a named entry from the LDAP directory. |
|
|
findOne(LdapQuery query,
Class<T> clazz)
Search for objects in the directory tree matching the specified LdapQuery, expecting to find exactly one match. |
|
ContextSource |
getContextSource()
Get the ContextSource. |
|
ObjectDirectoryMapper |
getObjectDirectoryMapper()
Get the configured ObjectDirectoryMapper. |
|
List<String> |
list(Name base)
Perform a non-recursive listing of the children of the given base. |
|
void |
list(Name base,
NameClassPairCallbackHandler handler)
Perform a non-recursive listing of the children of the given base. |
|
|
list(Name base,
NameClassPairMapper<T> mapper)
Perform a non-recursive listing of the children of the given base. |
|
List<String> |
list(String base)
Perform a non-recursive listing of the children of the given base. |
|
void |
list(String base,
NameClassPairCallbackHandler handler)
Perform a non-recursive listing of the children of the given base. |
|
|
list(String base,
NameClassPairMapper<T> mapper)
Perform a non-recursive listing of the children of the given base. |
|
List<String> |
listBindings(Name base)
Perform a non-recursive listing of children of the given base. |
|
|
listBindings(Name base,
ContextMapper<T> mapper)
Perform a non-recursive listing of the children of the given base. |
|
void |
listBindings(Name base,
NameClassPairCallbackHandler handler)
Perform a non-recursive listing of the children of the given base. |
|
|
listBindings(Name base,
NameClassPairMapper<T> mapper)
Perform a non-recursive listing of the children of the given base. |
|
List<String> |
listBindings(String base)
Perform a non-recursive listing of children of the given base. |
|
|
listBindings(String base,
ContextMapper<T> mapper)
Perform a non-recursive listing of the children of the given base. |
|
void |
listBindings(String base,
NameClassPairCallbackHandler handler)
Perform a non-recursive listing of the children of the given base. |
|
|
listBindings(String base,
NameClassPairMapper<T> mapper)
Perform a non-recursive listing of the children of the given base. |
|
Object |
lookup(Name dn)
Lookup the supplied DN and return the found object. |
|
|
lookup(Name dn,
AttributesMapper<T> mapper)
Convenience method to get the attributes of a specified DN and automatically pass them to an AttributesMapper. |
|
|
lookup(Name dn,
ContextMapper<T> mapper)
Convenience method to lookup a specified DN and automatically pass the found object to a ContextMapper. |
|
|
lookup(Name dn,
String[] attributes,
AttributesMapper<T> mapper)
Convenience method to get the specified attributes of a specified DN and automatically pass them to an AttributesMapper. |
|
|
lookup(Name dn,
String[] attributes,
ContextMapper<T> mapper)
Convenience method to get the specified attributes of a specified DN and automatically pass them to a ContextMapper. |
|
Object |
lookup(String dn)
Lookup the supplied DN and return the found object. |
|
|
lookup(String dn,
AttributesMapper<T> mapper)
Convenience method to get the attributes of a specified DN and automatically pass them to an AttributesMapper. |
|
|
lookup(String dn,
ContextMapper<T> mapper)
Convenience method to lookup a specified DN and automatically pass the found object to a ContextMapper. |
|
|
lookup(String dn,
String[] attributes,
AttributesMapper<T> mapper)
Convenience method to get the specified attributes of a specified DN and automatically pass them to an AttributesMapper. |
|
|
lookup(String dn,
String[] attributes,
ContextMapper<T> mapper)
Convenience method to get the specified attributes of a specified DN and automatically pass them to a ContextMapper. |
|
DirContextOperations |
lookupContext(Name dn)
Convenience method to lookup the supplied DN and automatically cast it to DirContextOperations. |
|
DirContextOperations |
lookupContext(String dn)
Convenience method to lookup the supplied DN and automatically cast it to DirContextOperations. |
|
void |
modifyAttributes(DirContextOperations ctx)
Modify the attributes of the entry referenced by the supplied DirContextOperations instance. |
|
void |
modifyAttributes(Name dn,
ModificationItem[] mods)
Modify an entry in the LDAP tree using the supplied ModificationItems. |
|
void |
modifyAttributes(String dn,
ModificationItem[] mods)
Modify an entry in the LDAP tree using the supplied ModificationItems. |
|
void |
rebind(DirContextOperations ctx)
Remove an entry and replace it with a new one. |
|
void |
rebind(Name dn,
Object obj,
Attributes attributes)
Remove an entry and replace it with a new one. |
|
void |
rebind(String dn,
Object obj,
Attributes attributes)
Remove an entry and replace it with a new one. |
|
void |
rename(Name oldDn,
Name newDn)
Move an entry in the LDAP tree to a new location. |
|
void |
rename(String oldDn,
String newDn)
Move an entry in the LDAP tree to a new location. |
|
|
search(LdapQuery query,
AttributesMapper<T> mapper)
Perform a search with parameters from the specified LdapQuery. |
|
|
search(LdapQuery query,
ContextMapper<T> mapper)
Perform a search with parameters from the specified LdapQuery. |
|
void |
search(LdapQuery query,
NameClassPairCallbackHandler callbackHandler)
Perform a search with parameters from the specified LdapQuery. |
|
|
search(Name base,
String filter,
AttributesMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
|
search(Name base,
String filter,
ContextMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
|
search(Name base,
String filter,
int searchScope,
AttributesMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
void |
search(Name base,
String filter,
int searchScope,
boolean returningObjFlag,
NameClassPairCallbackHandler handler)
Search for all objects matching the supplied filter. |
|
|
search(Name base,
String filter,
int searchScope,
ContextMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
|
search(Name base,
String filter,
int searchScope,
String[] attrs,
AttributesMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
|
search(Name base,
String filter,
int searchScope,
String[] attrs,
ContextMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
void |
search(Name base,
String filter,
NameClassPairCallbackHandler handler)
Search for all objects matching the supplied filter. |
|
|
search(Name base,
String filter,
SearchControls controls,
AttributesMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
|
search(Name base,
String filter,
SearchControls controls,
AttributesMapper<T> mapper,
DirContextProcessor processor)
Search for all objects matching the supplied filter. |
|
|
search(Name base,
String filter,
SearchControls controls,
ContextMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
|
search(Name base,
String filter,
SearchControls controls,
ContextMapper<T> mapper,
DirContextProcessor processor)
Search for all objects matching the supplied filter. |
|
void |
search(Name base,
String filter,
SearchControls controls,
NameClassPairCallbackHandler handler)
Search for all objects matching the supplied filter. |
|
void |
search(Name base,
String filter,
SearchControls controls,
NameClassPairCallbackHandler handler,
DirContextProcessor processor)
Search for all objects matching the supplied filter. |
|
void |
search(SearchExecutor se,
NameClassPairCallbackHandler handler)
Perform a search operation, such as a search(), list() or listBindings(). |
|
void |
search(SearchExecutor se,
NameClassPairCallbackHandler handler,
DirContextProcessor processor)
Perform a search operation, such as a search(), list() or listBindings(). |
|
|
search(String base,
String filter,
AttributesMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
|
search(String base,
String filter,
ContextMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
|
search(String base,
String filter,
int searchScope,
AttributesMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
void |
search(String base,
String filter,
int searchScope,
boolean returningObjFlag,
NameClassPairCallbackHandler handler)
Search for all objects matching the supplied filter. |
|
|
search(String base,
String filter,
int searchScope,
ContextMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
|
search(String base,
String filter,
int searchScope,
String[] attrs,
AttributesMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
|
search(String base,
String filter,
int searchScope,
String[] attrs,
ContextMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
void |
search(String base,
String filter,
NameClassPairCallbackHandler handler)
Search for all objects matching the supplied filter. |
|
|
search(String base,
String filter,
SearchControls controls,
AttributesMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
|
search(String base,
String filter,
SearchControls controls,
AttributesMapper<T> mapper,
DirContextProcessor processor)
Search for all objects matching the supplied filter. |
|
|
search(String base,
String filter,
SearchControls controls,
ContextMapper<T> mapper)
Search for all objects matching the supplied filter. |
|
|
search(String base,
String filter,
SearchControls controls,
ContextMapper<T> mapper,
DirContextProcessor processor)
Search for all objects matching the supplied filter. |
|
void |
search(String base,
String filter,
SearchControls controls,
NameClassPairCallbackHandler handler)
Search for all objects matching the supplied filter. |
|
void |
search(String base,
String filter,
SearchControls controls,
NameClassPairCallbackHandler handler,
DirContextProcessor processor)
Search for all objects matching the supplied filter. |
|
DirContextOperations |
searchForContext(LdapQuery query)
Perform a search for a unique entry matching the specified LDAP query and return the found entry as a DirContextOperation instance. |
|
|
searchForObject(LdapQuery query,
ContextMapper<T> mapper)
Perform a search for a unique entry matching the specified LDAP query and return the found object. |
|
|
searchForObject(Name base,
String filter,
ContextMapper<T> mapper)
Perform a search for a unique entry matching the specified search criteria and return the found object. |
|
|
searchForObject(Name base,
String filter,
SearchControls searchControls,
ContextMapper<T> mapper)
Perform a search for a unique entry matching the specified search criteria and return the found object. |
|
|
searchForObject(String base,
String filter,
ContextMapper<T> mapper)
Perform a search for a unique entry matching the specified search criteria and return the found object. |
|
|
searchForObject(String base,
String filter,
SearchControls searchControls,
ContextMapper<T> mapper)
Perform a search for a unique entry matching the specified search criteria and return the found object. |
|
void |
setContextSource(ContextSource contextSource)
Set the ContextSource. |
|
void |
setDefaultCountLimit(int defaultCountLimit)
Set the default count limit be used in searches if not explicitly specified. |
|
void |
setDefaultSearchScope(int defaultSearchScope)
Set the default scope to be used in searches if not explicitly specified. |
|
void |
setDefaultTimeLimit(int defaultTimeLimit)
Set the default time limit be used in searches if not explicitly specified. |
|
void |
setIgnoreNameNotFoundException(boolean ignore)
Specify whether NameNotFoundException should be ignored in
searches. |
|
void |
setIgnorePartialResultException(boolean ignore)
Specify whether PartialResultException should be ignored in
searches. |
|
void |
setIgnoreSizeLimitExceededException(boolean ignore)
Specify whether SizeLimitExceededException should be ignored in searches. |
|
void |
setObjectDirectoryMapper(ObjectDirectoryMapper odm)
Set the ObjectDirectoryMapper instance to use. |
|
void |
unbind(Name dn)
Remove an entry from the LDAP tree. |
|
void |
unbind(Name dn,
boolean recursive)
Remove an entry from the LDAP tree, optionally removing all descendants in the process. |
|
void |
unbind(String dn)
Remove an entry from the LDAP tree. |
|
void |
unbind(String dn,
boolean recursive)
Remove an entry from the LDAP tree, optionally removing all descendants in the process. |
|
void |
update(Object entry)
Update the given entry in the LDAP directory. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public LdapTemplate()
public LdapTemplate(ContextSource contextSource)
contextSource - the ContextSource to use.| Method Detail |
|---|
public void setContextSource(ContextSource contextSource)
contextSource - the ContextSource.public ObjectDirectoryMapper getObjectDirectoryMapper()
getObjectDirectoryMapper in interface LdapOperationspublic void setObjectDirectoryMapper(ObjectDirectoryMapper odm)
odm - the ObejctDirectoryMapper to use.public ContextSource getContextSource()
public void setIgnoreNameNotFoundException(boolean ignore)
NameNotFoundException should be ignored in
searches. In previous version, NameNotFoundException caused
by the search base not being found was silently ignored. The default
behavior is now to treat this as an error (as it should), and to convert
and re-throw the exception. The ability to revert to the previous
behavior still exists. The only difference is that the incident is in
that case no longer silently ignored, but logged as a warning.
ignore - true if NameNotFoundException
should be ignored in searches, false otherwise. Default is
false.public void setIgnorePartialResultException(boolean ignore)
PartialResultException should be ignored in
searches. AD servers typically have a problem with referrals. Normally a
referral should be followed automatically, but this does not seem to work
with AD servers. The problem manifests itself with a a
PartialResultException being thrown when a referral is
encountered by the server. Setting this property to true
presents a workaround to this problem by causing
PartialResultException to be ignored, so that the search
method returns normally. Default value of this parameter is
false.
ignore - true if PartialResultException
should be ignored in searches, false otherwise. Default is
false.public void setIgnoreSizeLimitExceededException(boolean ignore)
SizeLimitExceededException should be ignored in searches.
This is typically what you want if you specify count limit in your search controls.
ignore - true if SizeLimitExceededException
should be ignored in searches, false otherwise. Default is
true.public void setDefaultSearchScope(int defaultSearchScope)
SearchControls.SUBTREE_SCOPE.
defaultSearchScope - the default search scope to use in searches.
One of SearchControls.OBJECT_SCOPE,
SearchControls.ONELEVEL_SCOPE,
or SearchControls.SUBTREE_SCOPEpublic void setDefaultTimeLimit(int defaultTimeLimit)
defaultTimeLimit - the default time limit to use in searches.public void setDefaultCountLimit(int defaultCountLimit)
defaultCountLimit - the default count limit to use in searches.
public void search(Name base,
String filter,
int searchScope,
boolean returningObjFlag,
NameClassPairCallbackHandler handler)
SearchResult is supplied to the specified
NameClassPairCallbackHandler. Use the specified values for
search scope and return objects flag.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.searchScope - The search scope to set in SearchControls
.returningObjFlag - Whether the bound object should be returned in
search results. Must be set to true if a
ContextMapper is used.handler - The NameClassPairCallbackHandler to supply
the SearchResults to.
public void search(String base,
String filter,
int searchScope,
boolean returningObjFlag,
NameClassPairCallbackHandler handler)
SearchResult is supplied to the specified
NameClassPairCallbackHandler. Use the specified values for
search scope and return objects flag.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.searchScope - The search scope to set in SearchControls
.returningObjFlag - Whether the bound object should be returned in
search results. Must be set to true if a
ContextMapper is used.handler - The NameClassPairCallbackHandler to supply
the SearchResults to.
public void search(Name base,
String filter,
SearchControls controls,
NameClassPairCallbackHandler handler)
SearchResult is supplied to the specified
NameClassPairCallbackHandler. The SearchScope
specified in the supplied SearchControls will be used in the
search. Note that if you are using a ContextMapper, the
returningObjFlag needs to be set to true in the
SearchControls.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.controls - The SearchControls to use in the search.handler - The NameClassPairCallbackHandler to supply
the SearchResult to.
public void search(String base,
String filter,
SearchControls controls,
NameClassPairCallbackHandler handler)
LdapOperations.search(Name, String, SearchControls, NameClassPairCallbackHandler)
for details.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.controls - The SearchControls to use in the search.handler - The NameClassPairCallbackHandler to supply
the SearchResult to.
public void search(Name base,
String filter,
SearchControls controls,
NameClassPairCallbackHandler handler,
DirContextProcessor processor)
SearchResult is supplied to the specified
NameClassPairCallbackHandler. The SearchScope
specified in the supplied SearchControls will be used in the
search. Note that if you are using a ContextMapper, the
returningObjFlag needs to be set to true in the
SearchControls. The given DirContextProcessor
will be called before and after the search.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.controls - The SearchControls to use in the search.handler - The NameClassPairCallbackHandler to supply
the SearchResult to.processor - The DirContextProcessor to use before and
after the search.
public void search(String base,
String filter,
SearchControls controls,
NameClassPairCallbackHandler handler,
DirContextProcessor processor)
LdapOperations.search(Name, String, SearchControls, NameClassPairCallbackHandler, DirContextProcessor)
for details.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.controls - The SearchControls to use in the search.handler - The NameClassPairCallbackHandler to supply
the SearchResults to.processor - The DirContextProcessor to use before and
after the search.
public void search(SearchExecutor se,
NameClassPairCallbackHandler handler,
DirContextProcessor processor)
The actual list is delegated to the SearchExecutor and each
NameClassPair (this might be a NameClassPair or a subclass
thereof) is passed to the CallbackHandler. Any encountered
NamingException will be translated using the NamingExceptionTranslator.
search in interface LdapOperationsse - the SearchExecutor to use for performing the actual list.handler - the NameClassPairCallbackHandler to which each found entry
will be passed.processor - DirContextProcessor for custom pre- and post-processing.
Must not be null. If no custom processing should take place,
please use e.g.
search(SearchExecutor, NameClassPairCallbackHandler).
NamingException - if any error occurs. Note that a
NameNotFoundException will be ignored. Instead this is interpreted that
no entries were found.
public void search(SearchExecutor se,
NameClassPairCallbackHandler handler)
The actual list is delegated to the SearchExecutor and each
NameClassPair (this might be a NameClassPair or a subclass
thereof) is passed to the CallbackHandler. Any encountered
NamingException will be translated using the NamingExceptionTranslator.
search in interface LdapOperationsse - the SearchExecutor to use for performing the actual list.handler - the NameClassPairCallbackHandler to which each found entry
will be passed.
NamingException - if any error occurs. Note that a
NameNotFoundException will be ignored. Instead this is interpreted that
no entries were found.LdapOperations.search(Name, String, AttributesMapper),
LdapOperations.search(Name, String, ContextMapper)
public void search(Name base,
String filter,
NameClassPairCallbackHandler handler)
SearchResult is supplied to the specified
NameClassPairCallbackHandler. The default Search scope (
SearchControls.SUBTREE_SCOPE) will be used and the
returnObjects flag will be set to false.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.handler - The NameClassPairCallbackHandler to supply
the SearchResults to.
public void search(String base,
String filter,
NameClassPairCallbackHandler handler)
SearchResult is supplied to the specified
NameClassPairCallbackHandler. The default Search scope (
SearchControls.SUBTREE_SCOPE) will be used and the
returnObjects flag will be set to false.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.handler - The NameClassPairCallbackHandler to supply
the SearchResults to.
public <T> List<T> search(Name base,
String filter,
int searchScope,
String[] attrs,
AttributesMapper<T> mapper)
SearchResult is supplied to the specified
AttributesMapper.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.searchScope - The search scope to set in SearchControls
.attrs - The attributes to return, null means returning
all attributes.mapper - The AttributesMapper to use for translating
each entry.
List containing all entries received from the
AttributesMapper.
public <T> List<T> search(String base,
String filter,
int searchScope,
String[] attrs,
AttributesMapper<T> mapper)
SearchResult is supplied to the specified
AttributesMapper.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.searchScope - The search scope to set in SearchControls
.attrs - The attributes to return, null means returning
all attributes.mapper - The AttributesMapper to use for translating
each entry.
List containing all entries received from the
AttributesMapper.
public <T> List<T> search(Name base,
String filter,
int searchScope,
AttributesMapper<T> mapper)
SearchResult is supplied to the specified
AttributesMapper.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.searchScope - The search scope to set in SearchControls
.mapper - The AttributesMapper to use for translating
each entry.
List containing all entries received from the
AttributesMapper.
public <T> List<T> search(String base,
String filter,
int searchScope,
AttributesMapper<T> mapper)
SearchResult is supplied to the specified
AttributesMapper.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.searchScope - The search scope to set in SearchControls
.mapper - The AttributesMapper to use for translating
each entry.
List containing all entries received from the
AttributesMapper.
public <T> List<T> search(Name base,
String filter,
AttributesMapper<T> mapper)
SearchResult is supplied to the specified
AttributesMapper. The default search scope will be used.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.mapper - The AttributesMapper to use for translating
each entry.
List containing all entries received from the
AttributesMapper.
public <T> List<T> search(String base,
String filter,
AttributesMapper<T> mapper)
SearchResult is supplied to the specified
AttributesMapper. The default search scope will be used.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.mapper - The AttributesMapper to use for translating
each entry.
List containing all entries received from the
AttributesMapper.
public <T> List<T> search(Name base,
String filter,
int searchScope,
String[] attrs,
ContextMapper<T> mapper)
Object returned in each SearchResult is
supplied to the specified ContextMapper. Only return the
supplied attributes.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.searchScope - The search scope to set in SearchControls
.attrs - The attributes to return, null means all
attributes.mapper - The ContextMapper to use for translating each
entry.
List containing all entries received from the
ContextMapper.
public <T> List<T> search(String base,
String filter,
int searchScope,
String[] attrs,
ContextMapper<T> mapper)
Object returned in each SearchResult is
supplied to the specified ContextMapper. Only return the
supplied attributes.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.searchScope - The search scope to set in SearchControls
.attrs - The attributes to return, null means all
attributes.mapper - The ContextMapper to use for translating each
entry.
List containing all entries received from the
ContextMapper.
public <T> List<T> search(Name base,
String filter,
int searchScope,
ContextMapper<T> mapper)
Object returned in each SearchResult is
supplied to the specified ContextMapper.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.searchScope - The search scope to set in SearchControls
.mapper - The ContextMapper to use for translating each
entry.
List containing all entries received from the
ContextMapper.
public <T> List<T> search(String base,
String filter,
int searchScope,
ContextMapper<T> mapper)
Object returned in each SearchResult is
supplied to the specified ContextMapper.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.searchScope - The search scope to set in SearchControls
.mapper - The ContextMapper to use for translating each
entry.
List containing all entries received from the
ContextMapper.
public <T> List<T> search(Name base,
String filter,
ContextMapper<T> mapper)
Object returned in each SearchResult is
supplied to the specified ContextMapper. The default search
scope (SearchControls.SUBTREE_SCOPE) will be used.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.mapper - The ContextMapper to use for translating each
entry.
List containing all entries received from the
ContextMapper.
public <T> List<T> search(String base,
String filter,
ContextMapper<T> mapper)
Object returned in each SearchResult is
supplied to the specified ContextMapper. The default search
scope (SearchControls.SUBTREE_SCOPE) will be used.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.mapper - The ContextMapper to use for translating each
entry.
List containing all entries received from the
ContextMapper.
public <T> List<T> search(String base,
String filter,
SearchControls controls,
ContextMapper<T> mapper)
Object returned in each SearchResult is
supplied to the specified ContextMapper. The default search
scope (SearchControls.SUBTREE_SCOPE) will be used.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.mapper - The ContextMapper to use for translating each
entry.
List containing all entries received from the
ContextMapper.
public <T> List<T> search(Name base,
String filter,
SearchControls controls,
ContextMapper<T> mapper)
SearchResult is supplied to the specified
ContextMapper.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.controls - The SearchControls to use in the search. If
the returnObjFlag is not set in the SearchControls, this
method will set it automatically, as this is required for the
ContextMapper to work.mapper - The ContextMapper to use for translating each
entry.
List containing all entries received from the
ContextMapper.
public <T> List<T> search(Name base,
String filter,
SearchControls controls,
AttributesMapper<T> mapper)
SearchResult is supplied to the specified
AttributesMapper.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.controls - The SearchControls to use in the search.mapper - The AttributesMapper to use for translating
each entry.
List containing all entries received from the
ContextMapper.
public <T> List<T> search(String base,
String filter,
SearchControls controls,
AttributesMapper<T> mapper)
SearchResult is supplied to the specified
AttributesMapper.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.controls - The SearchControls to use in the search.mapper - The AttributesMapper to use for translating
each entry.
List containing all entries received from the
ContextMapper.
public <T> List<T> search(String base,
String filter,
SearchControls controls,
AttributesMapper<T> mapper,
DirContextProcessor processor)
SearchResult is supplied to the specified
AttributesMapper. The SearchScope specified in
the supplied SearchControls will be used in the search. The
given DirContextProcessor will be called before and after
the search.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.controls - The SearchControls to use in the search.mapper - The AttributesMapper to use for translating
each entry.processor - The DirContextProcessor to use before and
after the search.
List containing all entries received from the
AttributesMapper.
public <T> List<T> search(Name base,
String filter,
SearchControls controls,
AttributesMapper<T> mapper,
DirContextProcessor processor)
SearchResult is supplied to the specified
AttributesMapper. The SearchScope specified in
the supplied SearchControls will be used in the search. The
given DirContextProcessor will be called before and after
the search.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.controls - The SearchControls to use in the search.mapper - The AttributesMapper to use for translating
each entry.processor - The DirContextProcessor to use before and
after the search.
List containing all entries received from the
AttributesMapper.
public <T> List<T> search(String base,
String filter,
SearchControls controls,
ContextMapper<T> mapper,
DirContextProcessor processor)
SearchResult is supplied to the specified
ContextMapper. The SearchScope specified in the
supplied SearchControls will be used in the search. The
given DirContextProcessor will be called before and after
the search.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.controls - The SearchControls to use in the search. If
the returnObjFlag is not set in the SearchControls, this
method will set it automatically, as this is required for the
ContextMapper to work.mapper - The ContextMapper to use for translating each
entry.processor - The DirContextProcessor to use before and
after the search.
List containing all entries received from the
ContextMapper.
public <T> List<T> search(Name base,
String filter,
SearchControls controls,
ContextMapper<T> mapper,
DirContextProcessor processor)
SearchResult is supplied to the specified
ContextMapper. The SearchScope specified in the
supplied SearchControls will be used in the search. The
given DirContextProcessor will be called before and after
the search.
search in interface LdapOperationsbase - The base DN where the search should begin.filter - The filter to use in the search.controls - The SearchControls to use in the search. If
the returnObjFlag is not set in the SearchControls, this
method will set it automatically, as this is required for the
ContextMapper to work.mapper - The ContextMapper to use for translating each
entry.processor - The DirContextProcessor to use before and
after the search.
List containing all entries received from the
ContextMapper.
public void list(String base,
NameClassPairCallbackHandler handler)
base. Each resulting NameClassPair is supplied
to the specified NameClassPairCallbackHandler.
list in interface LdapOperationsbase - The base DN where the list should be performed.handler - The NameClassPairCallbackHandler to supply
each NameClassPair to.
public void list(Name base,
NameClassPairCallbackHandler handler)
base. Each resulting NameClassPair is supplied
to the specified NameClassPairCallbackHandler.
list in interface LdapOperationsbase - The base DN where the list should be performed.handler - The NameClassPairCallbackHandler to supply
each NameClassPair to.
public <T> List<T> list(String base,
NameClassPairMapper<T> mapper)
base. Pass all the found NameClassPair objects
to the supplied NameClassPairMapper and return all the
returned values as a List.
list in interface LdapOperationsbase - The base DN where the list should be performed.mapper - The NameClassPairMapper to supply each
NameClassPair to.
List containing the Objects returned from the
Mapper.
public <T> List<T> list(Name base,
NameClassPairMapper<T> mapper)
base. Pass all the found NameClassPair objects
to the supplied NameClassPairMapper and return all the
returned values as a List.
list in interface LdapOperationsbase - The base DN where the list should be performed.mapper - The NameClassPairMapper to supply each
NameClassPair to.
List containing the Objects returned from the
Mapper.public List<String> list(Name base)
base.
list in interface LdapOperationsbase - The base DN where the list should be performed.
base.public List<String> list(String base)
base.
list in interface LdapOperationsbase - The base DN where the list should be performed.
base.
public void listBindings(String base,
NameClassPairCallbackHandler handler)
base. Each resulting Binding is supplied to the
specified NameClassPairCallbackHandler.
listBindings in interface LdapOperationsbase - The base DN where the list should be performed.handler - The NameClassPairCallbackHandler to supply
each Binding to.
public void listBindings(Name base,
NameClassPairCallbackHandler handler)
base. Each resulting Binding is supplied to the
specified NameClassPairCallbackHandler.
listBindings in interface LdapOperationsbase - The base DN where the list should be performed.handler - The NameClassPairCallbackHandler to supply
each Binding to.
public <T> List<T> listBindings(String base,
NameClassPairMapper<T> mapper)
base. Pass all the found Binding objects to the
supplied NameClassPairMapper and return all the returned
values as a List.
listBindings in interface LdapOperationsbase - The base DN where the list should be performed.mapper - The NameClassPairMapper to supply each
Binding to.
List containing the Objects returned from the
Mapper.
public <T> List<T> listBindings(Name base,
NameClassPairMapper<T> mapper)
base. Pass all the found Binding objects to the
supplied NameClassPairMapper and return all the returned
values as a List.
listBindings in interface LdapOperationsbase - The base DN where the list should be performed.mapper - The NameClassPairMapper to supply each
Binding to.
List containing the Objects returned from the
Mapper.public List<String> listBindings(String base)
base.
listBindings in interface LdapOperationsbase - The base DN where the list should be performed.
List containing the names of all the contexts
bound to base.public List<String> listBindings(Name base)
base.
listBindings in interface LdapOperationsbase - The base DN where the list should be performed.
List containing the names of all the contexts
bound to base.
public <T> List<T> listBindings(String base,
ContextMapper<T> mapper)
base. The Object returned in each Binding is
supplied to the specified ContextMapper.
listBindings in interface LdapOperationsbase - The base DN where the list should be performed.mapper - The ContextMapper to use for mapping the found
object.
List containing all entries received from the
ContextMapper.
public <T> List<T> listBindings(Name base,
ContextMapper<T> mapper)
base. The Object returned in each Binding is
supplied to the specified ContextMapper.
listBindings in interface LdapOperationsbase - The base DN where the list should be performed.mapper - The ContextMapper to use for mapping the found
object.
List containing all entries received from the
ContextMapper.public <T> T executeReadOnly(ContextExecutor<T> ce)
DirContext,
translating any Exceptions and closing the context afterwards. This
method is not intended for searches; use
LdapOperations.search(SearchExecutor, NameClassPairCallbackHandler) or any of
the overloaded search methods for this.
executeReadOnly in interface LdapOperationsce - The ContextExecutor to which the actual operation
on the DirContext will be delegated.
LdapOperations.search(SearchExecutor, NameClassPairCallbackHandler),
LdapOperations.search(Name, String, AttributesMapper),
LdapOperations.search(Name, String, ContextMapper)public <T> T executeReadWrite(ContextExecutor<T> ce)
DirContext,
translating any exceptions and closing the context afterwards. This
method is intended only for very particular cases, where there is no
suitable method in this interface to use.
executeReadWrite in interface LdapOperationsce - The ContextExecutor to which the actual operation
on the DirContext will be delegated.
LdapOperations.bind(Name, Object, Attributes),
LdapOperations.unbind(Name),
LdapOperations.rebind(Name, Object, Attributes),
LdapOperations.rename(Name, Name),
LdapOperations.modifyAttributes(Name, ModificationItem[])public Object lookup(Name dn)
DirContextAdapter, unless the DirObjectFactory
has been modified in the ContextSource.
lookup in interface LdapOperationsdn - The distinguished name of the object to find.
DirContextAdapter instance.LdapOperations.lookupContext(Name),
AbstractContextSource.setDirObjectFactory(Class)public Object lookup(String dn)
DirContextAdapter, unless the DirObjectFactory
has been modified in the ContextSource.
lookup in interface LdapOperationsdn - The distinguished name of the object to find.
DirContextAdapter instance.LdapOperations.lookupContext(String),
AbstractContextSource.setDirObjectFactory(Class)
public <T> T lookup(Name dn,
AttributesMapper<T> mapper)
AttributesMapper.
lookup in interface LdapOperationsdn - The distinguished name to find.mapper - The AttributesMapper to use for mapping the
found object.
public <T> T lookup(String dn,
AttributesMapper<T> mapper)
AttributesMapper.
lookup in interface LdapOperationsdn - The distinguished name to find.mapper - The AttributesMapper to use for mapping the
found object.
public <T> T lookup(Name dn,
ContextMapper<T> mapper)
ContextMapper.
lookup in interface LdapOperationsdn - The distinguished name to find.mapper - The ContextMapper to use for mapping the found
object.
public <T> T lookup(String dn,
ContextMapper<T> mapper)
ContextMapper.
lookup in interface LdapOperationsdn - The distinguished name to find.mapper - The ContextMapper to use for mapping the found
object.
public <T> T lookup(Name dn,
String[] attributes,
AttributesMapper<T> mapper)
AttributesMapper.
lookup in interface LdapOperationsdn - The distinguished name to find.attributes - The names of the attributes to pass to the mapper.mapper - The AttributesMapper to use for mapping the
found object.
public <T> T lookup(String dn,
String[] attributes,
AttributesMapper<T> mapper)
AttributesMapper.
lookup in interface LdapOperationsdn - The distinguished name to find.attributes - The names of the attributes to pass to the mapper.mapper - The AttributesMapper to use for mapping the
found object.
public <T> T lookup(Name dn,
String[] attributes,
ContextMapper<T> mapper)
ContextMapper.
lookup in interface LdapOperationsdn - The distinguished name to find.attributes - The names of the attributes to pass to the mapper.mapper - The ContextMapper to use for mapping the found
object.
public <T> T lookup(String dn,
String[] attributes,
ContextMapper<T> mapper)
ContextMapper.
lookup in interface LdapOperationsdn - The distinguished name to find.attributes - The names of the attributes to pass to the mapper.mapper - The ContextMapper to use for mapping the found
object.
public void modifyAttributes(Name dn,
ModificationItem[] mods)
ModificationItems.
modifyAttributes in interface LdapOperationsdn - The distinguished name of the node to modify.mods - The modifications to perform.LdapOperations.modifyAttributes(DirContextOperations)
public void modifyAttributes(String dn,
ModificationItem[] mods)
ModificationItems.
modifyAttributes in interface LdapOperationsdn - The distinguished name of the node to modify.mods - The modifications to perform.LdapOperations.modifyAttributes(DirContextOperations)
public void bind(Name dn,
Object obj,
Attributes attributes)
obj parameter or the
attributes parameter (or both). One of these parameters may
be null but not both.
bind in interface LdapOperationsdn - The distinguished name to bind the object and attributes to.obj - The object to bind, may be null. Typically a
DirContext implementation.attributes - The attributes to bind, may be null.DirContextAdapter
public void bind(String dn,
Object obj,
Attributes attributes)
obj parameter or the
attributes parameter (or both). One of these parameters may
be null but not both.
bind in interface LdapOperationsdn - The distinguished name to bind the object and attributes to.obj - The object to bind, may be null. Typically a
DirContext implementation.attributes - The attributes to bind, may be null.DirContextAdapterpublic void unbind(Name dn)
LdapOperations.unbind(Name, boolean) in stead.
unbind in interface LdapOperationsdn - The distinguished name of the entry to remove.public void unbind(String dn)
LdapOperations.unbind(Name, boolean) in stead.
unbind in interface LdapOperationsdn - The distinguished name to unbind.
public void unbind(Name dn,
boolean recursive)
unbind in interface LdapOperationsdn - The distinguished name to unbind.recursive - Whether to unbind all subcontexts as well. If this
parameter is false and the entry has children, the operation
will fail.
public void unbind(String dn,
boolean recursive)
unbind in interface LdapOperationsdn - The distinguished name to unbind.recursive - Whether to unbind all subcontexts as well. If this
parameter is false and the entry has children, the operation
will fail.
protected void deleteRecursively(DirContext ctx,
Name name)
ctx - The context to use for deleting.name - The starting point to delete recursively.
NamingException - if any error occurs
public void rebind(Name dn,
Object obj,
Attributes attributes)
obj parameter
or the attributes parameter (or both). One of these
parameters may be null but not both. This method assumes
that the specified context already exists - if not it will fail.
rebind in interface LdapOperationsdn - The distinguished name to rebind.obj - The object to bind to the DN, may be null.
Typically a DirContext implementation.attributes - The attributes to bind, may be null.DirContextAdapter
public void rebind(String dn,
Object obj,
Attributes attributes)
obj parameter
or the attributes parameter (or both). One of these
parameters may be null but not both. This method assumes
that the specified context already exists - if not it will fail.
rebind in interface LdapOperationsdn - The distinguished name to rebind.obj - The object to bind to the DN, may be null.
Typically a DirContext implementation.attributes - The attributes to bind, may be null.DirContextAdapter
public void rename(Name oldDn,
Name newDn)
rename in interface LdapOperationsoldDn - The distinguished name of the entry to move; may not be
null or empty.newDn - The distinguished name where the entry should be moved; may
not be null or empty.
public void rename(String oldDn,
String newDn)
rename in interface LdapOperationsoldDn - The distinguished name of the entry to move; may not be
null or empty.newDn - The distinguished name where the entry should be moved; may
not be null or empty.
public void afterPropertiesSet()
throws Exception
afterPropertiesSet in interface InitializingBeanExceptionpublic DirContextOperations lookupContext(Name dn)
DirContextOperations.
lookupContext in interface LdapOperationsdn - The distinguished name of the object to find.
DirContextOperations.LdapOperations.lookup(Name),
LdapOperations.modifyAttributes(DirContextOperations)public DirContextOperations lookupContext(String dn)
DirContextOperations.
lookupContext in interface LdapOperationsdn - The distinguished name of the object to find.
DirContextOperations.LdapOperations.lookup(String),
LdapOperations.modifyAttributes(DirContextOperations)public void modifyAttributes(DirContextOperations ctx)
DirContextOperations instance. The DN to update will be the DN of
the DirContextOperationsinstance, and the
ModificationItem array is retrieved from the
DirContextOperations instance using a call to
AttributeModificationsAware.getModificationItems(). NB:
The supplied instance needs to have been properly initialized; this means
that if it hasn't been received from a lookup operation, its
DN needs to be initialized and it must have been put in update mode (
DirContextAdapter.setUpdateMode(boolean)).
Typical use of this method would be as follows:
public void update(Person person) {
DirContextOperations ctx = ldapOperations.lookupContext(person.getDn());
ctx.setAttributeValue("description", person.getDescription());
ctx.setAttributeValue("telephoneNumber", person.getPhone());
// More modifications here
ldapOperations.modifyAttributes(ctx);
}
modifyAttributes in interface LdapOperationsctx - the DirContextOperations instance to use in the update.LdapOperations.lookupContext(Name),
DirContextAdapterpublic void bind(DirContextOperations ctx)
ctxin will be bound to the DN set on ctx.
Example:
DirContextOperations ctx = new DirContextAdapter(dn);
ctx.setAttributeValue("cn", "john doe");
ctx.setAttributeValue("description", "some description");
//More initialization here.
ldapTemplate.bind(ctx);
bind in interface LdapOperationsctx - the context to bindpublic void rebind(DirContextOperations ctx)
ctx parameter. This
method assumes that the specified context already exists - if not it will
fail. The entry will be bound to the DN set on ctx.
Example:
DirContextOperations ctx = new DirContextAdapter(dn);
ctx.setAttributeValue("cn", "john doe");
ctx.setAttributeValue("description", "some description");
//More initialization here.
ldapTemplate.rebind(ctx);
rebind in interface LdapOperationsctx - the context to rebind
public boolean authenticate(Name base,
String filter,
String password)
ContextSource.getContext(String, String), thus authenticating the
entry.
Example:
AndFilter filter = new AndFilter();
filter.and("objectclass", "person").and("uid", userId);
boolean authenticated = ldapTemplate.authenticate(LdapUtils.emptyLdapName(), filter.toString(), password);
authenticate in interface LdapOperationsbase - the DN to use as the base of the search.filter - the search filter - must result in a unique result.password - the password to use for authentication.
true if the authentication was successful,
false otherwise.
public boolean authenticate(String base,
String filter,
String password)
ContextSource.getContext(String, String), thus authenticating the
entry.
Example:
AndFilter filter = new AndFilter();
filter.and("objectclass", "person").and("uid", userId);
boolean authenticated = ldapTemplate.authenticate(LdapUtils.emptyLdapName(), filter.toString(), password);
authenticate in interface LdapOperationsbase - the DN to use as the base of the search.filter - the search filter - must result in a unique result.password - the password to use for authentication.
true if the authentication was successful,
false otherwise.
public boolean authenticate(String base,
String filter,
String password,
AuthenticatedLdapEntryContextCallback callback)
ContextSource.getContext(String, String), thus authenticating the
entry. The resulting DirContext instance is then used as input to the
supplied AuthenticatedLdapEntryContextCallback to perform any
additional LDAP operations against the authenticated DirContext.
authenticate in interface LdapOperationsbase - the DN to use as the base of the search.filter - the search filter - must result in a unique result.password - the password to use for authentication.callback - the callback to that will be called to perform operations
on the DirContext authenticated with the found user.
true if the authentication was successful,
false otherwise.LdapOperations.authenticate(String, String, String)
public boolean authenticate(Name base,
String filter,
String password,
AuthenticatedLdapEntryContextCallback callback)
ContextSource.getContext(String, String), thus authenticating the
entry. The resulting DirContext instance is then used as input to the
supplied AuthenticatedLdapEntryContextCallback to perform any
additional LDAP operations against the authenticated DirContext.
authenticate in interface LdapOperationsbase - the DN to use as the base of the search.filter - the search filter - must result in a unique result.password - the password to use for authentication.callback - the callback to that will be called to perform operations
on the DirContext authenticated with the found user.
true if the authentication was successful,
false otherwise.LdapOperations.authenticate(Name, String, String)
public boolean authenticate(String base,
String filter,
String password,
AuthenticationErrorCallback errorCallback)
ContextSource.getContext(String, String), thus authenticating the
entry. If an exception is caught, the same exception is passed on to the given
AuthenticationErrorCallback. This enables the caller to provide a
callback that, for example, collects the exception for later processing.
authenticate in interface LdapOperationsbase - the DN to use as the base of the search.filter - the search filter - must result in a unique result.password - the password to use for authentication.errorCallback - the callback that will be called if an exception is caught.
true if the authentication was successful,
false otherwise.
public boolean authenticate(Name base,
String filter,
String password,
AuthenticationErrorCallback errorCallback)
ContextSource.getContext(String, String), thus authenticating the
entry. If an exception is caught, the same exception is passed on to the given
AuthenticationErrorCallback. This enables the caller to provide a
callback that, for example, collects the exception for later processing.
authenticate in interface LdapOperationsbase - the DN to use as the base of the search.filter - the search filter - must result in a unique result.password - the password to use for authentication.errorCallback - the callback that will be called if an exception is caught.
true if the authentication was successful,
false otherwise.LdapOperations.authenticate(Name, String, String, AuthenticatedLdapEntryContextCallback, AuthenticationErrorCallback)
public boolean authenticate(String base,
String filter,
String password,
AuthenticatedLdapEntryContextCallback callback,
AuthenticationErrorCallback errorCallback)
ContextSource.getContext(String, String), thus authenticating the
entry. The resulting DirContext instance is then used as input to the
supplied AuthenticatedLdapEntryContextCallback to perform any
additional LDAP operations against the authenticated DirContext. If an
exception is caught, the same exception is passed on to the given
AuthenticationErrorCallback. This enables the caller to provide a
callback that, for example, collects the exception for later processing.
authenticate in interface LdapOperationsbase - the DN to use as the base of the search.filter - the search filter - must result in a unique result.password - the password to use for authentication.callback - the callback that will be called to perform operations
on the DirContext authenticated with the found user.errorCallback - the callback that will be called if an exception is caught.
true if the authentication was successful,
false otherwise.LdapOperations.authenticate(String, String, String, AuthenticatedLdapEntryContextCallback)
public boolean authenticate(Name base,
String filter,
String password,
AuthenticatedLdapEntryContextCallback callback,
AuthenticationErrorCallback errorCallback)
ContextSource.getContext(String, String), thus authenticating the
entry. The resulting DirContext instance is then used as input to the
supplied AuthenticatedLdapEntryContextCallback to perform any
additional LDAP operations against the authenticated DirContext. If an
exception is caught, the same exception is passed on to the given
AuthenticationErrorCallback. This enables the caller to provide a
callback that, for example, collects the exception for later processing.
authenticate in interface LdapOperationsbase - the DN to use as the base of the search.filter - the search filter - must result in a unique result.password - the password to use for authentication.callback - the callback that will be called to perform operations
on the DirContext authenticated with the found user.errorCallback - the callback that will be called if an exception is caught.
true if the authentication was successful,
false otherwise.LdapOperations.authenticate(Name, String, String, AuthenticatedLdapEntryContextCallback)
public <T> T authenticate(LdapQuery query,
String password,
AuthenticatedLdapEntryContextMapper<T> mapper)
ContextSource.getContext(String, String), thus authenticating the
entry.
Note: This method differs from the older authenticate methods in that encountered exceptions are thrown rather than supplied to a callback for handling.
authenticate in interface LdapOperationsquery - the LdapQuery specifying the details of the search.password - the password to use for authentication.mapper - the callback that will be called to perform operations
on the DirContext authenticated with the found user.
false otherwise.
LdapQueryBuilder
public void authenticate(LdapQuery query,
String password)
ContextSource.getContext(String, String), thus authenticating the
entry. If an exception is caught, the same exception is passed on to the given
AuthenticationErrorCallback. This enables the caller to provide a
callback that, for example, collects the exception for later processing.
Note: This method differs from the older authenticate methods in that encountered exceptions are thrown rather than supplied to a callback for handling.
authenticate in interface LdapOperationsquery - the LdapQuery specifying the details of the search.password - the password to use for authentication.
false otherwise.LdapQueryBuilder
public <T> T searchForObject(Name base,
String filter,
ContextMapper<T> mapper)
IncorrectResultSizeDataAccessException is thrown.
searchForObject in interface LdapOperationsbase - the DN to use as the base of the search.filter - the search filter.mapper - the mapper to use for the search.
public <T> T searchForObject(String base,
String filter,
ContextMapper<T> mapper)
IncorrectResultSizeDataAccessException is thrown.
searchForObject in interface LdapOperationsbase - the DN to use as the base of the search.filter - the search filter.mapper - the mapper to use for the search.
public <T> T searchForObject(Name base,
String filter,
SearchControls searchControls,
ContextMapper<T> mapper)
IncorrectResultSizeDataAccessException is thrown.
searchForObject in interface LdapOperationsbase - the DN to use as the base of the search.filter - the search filter.searchControls - the searchControls to use for the search.mapper - the mapper to use for the search.
public <T> T searchForObject(String base,
String filter,
SearchControls searchControls,
ContextMapper<T> mapper)
IncorrectResultSizeDataAccessException is thrown.
searchForObject in interface LdapOperationsbase - the DN to use as the base of the search.filter - the search filter.searchControls - the searchControls to use for the search.mapper - the mapper to use for the search.
public void search(LdapQuery query,
NameClassPairCallbackHandler callbackHandler)
NameClassPairCallbackHandler for processing.
search in interface LdapOperationsquery - the LDAP query specification.callbackHandler - the NameClassPairCallbackHandler to supply all found entries to.LdapQueryBuilder,
CountNameClassPairCallbackHandler
public <T> List<T> search(LdapQuery query,
ContextMapper<T> mapper)
ContextMapper for processing, and all returned objects will be collected in a list to be returned.
search in interface LdapOperationsquery - the LDAP query specification.mapper - the ContextMapper to supply all found entries to.
List containing all entries received from the
ContextMapper.LdapQueryBuilder
public <T> List<T> search(LdapQuery query,
AttributesMapper<T> mapper)
AttributesMapper for processing, and all
returned objects will be collected in a list to be returned.
search in interface LdapOperationsquery - the LDAP query specification.mapper - the Attributes to supply all found Attributes to.
List containing all entries received from the
Attributes.LdapQueryBuilderpublic DirContextOperations searchForContext(LdapQuery query)
IncorrectResultSizeDataAccessException is thrown.
searchForContext in interface LdapOperationsquery - the LDAP query specification.
LdapQueryBuilder
public <T> T searchForObject(LdapQuery query,
ContextMapper<T> mapper)
IncorrectResultSizeDataAccessException is thrown.
searchForObject in interface LdapOperationsquery - the LDAP query specification.
LdapQueryBuilder
public <T> T findByDn(Name dn,
Class<T> clazz)
Entry and associated annotations.
findByDn in interface LdapOperationsT - The Java type to returndn - The distinguished name of the entry to read from the LDAP directory.clazz - The Java type to return
public void create(Object entry)
Entry and associated annotations.
If the field annotated with Id
is set in the object, this will be used as the distinguished name of the new entry. If no explicit DN is specified,
an attempt will be made to calculate the name from fields annotated with DnAttribute.
If an id can be calculated, this will be populated in the supplied object.
create in interface LdapOperationsentry - The entry to be create, it must not be null or already exist in the directory.public void update(Object entry)
Entry and associated annotations.
If the distinguished name is not explicitly specified (i.e. if the
field annotated with Id is null),
an attempt will be made to calculate the name from fields annotated with
DnAttribute. If the Id
field and the calculated DN is different, the entry will be moved (i.e., an LdapOperations.unbind(javax.naming.Name)
followed by a LdapOperations.bind(DirContextOperations). Otherwise
the current data of the entry will be read from the directory and a LdapOperations.modifyAttributes(DirContextOperations)
operation will be performed using the ModificationItems resulting from the changes of the
entry compared to its current state in the directory.
If the id of the entry has changed, i.e. if it wasn't specified from the beginning, or if it is calculated to
have changed, the new value will be populated in the supplied object.
update in interface LdapOperationsentry - The entry to update, it must already exist in the directory.public void delete(Object entry)
Entry and associated annotations.
If the field annotated with Id
is set in the object, this will be used as the distinguished name of the new entry. If no explicit DN is specified,
an attempt will be made to calculate the name from fields annotated with DnAttribute.
delete in interface LdapOperationsentry - The entry to delete, it must already exist in the directory.
public <T> List<T> findAll(Name base,
SearchControls searchControls,
Class<T> clazz)
Entry and associated annotations.
findAll in interface LdapOperationsT - The Java type to returnbase - The root of the sub-tree at which to begin the search.searchControls - The search controls of the search. Note that the 'returned attributes' parameter should
typically not be tampered with, since that may affect the attributes populated in returned entries.clazz - The Java type to return
public <T> List<T> findAll(Class<T> clazz)
Entry and associated annotations.
findAll in interface LdapOperationsT - The Java type to returnclazz - The Java type to return
public <T> List<T> find(Name base,
Filter filter,
SearchControls searchControls,
Class<T> clazz)
Entry and associated annotations.
find in interface LdapOperationsT - The Java type to returnbase - The root of the sub-tree at which to begin the search.filter - The search filter.searchControls - The search controls of the search. Note that the 'returned attributes' parameter should
typically not be tampered with, since that may affect the attributes populated in returned entries.clazz - The Java type to return
public <T> List<T> find(LdapQuery query,
Class<T> clazz)
Entry and associated annotations.
Only those entries that both match the query search filter and are represented by the given Java class are returned.
find in interface LdapOperationsT - The Java type to returnquery - the LDAP query specificationclazz - The Java type to return
LdapQueryBuilder
public <T> T findOne(LdapQuery query,
Class<T> clazz)
Entry and associated annotations.
findOne in interface LdapOperationsT - The Java type to returnquery - the LDAP query specificationclazz - The Java type to return
|
Spring LDAP | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||