public class LdapDataConnector extends BaseDataConnector
LdapDataConnector
provides a plugin to retrieve attributes from an LDAP.Modifier and Type | Class and Description |
---|---|
static class |
LdapDataConnector.AUTHENTICATION_TYPE
Authentication type values.
|
protected class |
LdapDataConnector.LDAPValueEscapingStrategy
Escapes values that will be included within an LDAP filter.
|
Modifier and Type | Field and Description |
---|---|
private LdapDataConnector.LDAPValueEscapingStrategy |
escapingStrategy
Filter value escaping strategy.
|
private TemplateEngine |
filterCreator
Template engine used to change filter template into actual filter.
|
private String |
filterTemplate
Template that produces the query to use.
|
private String |
filterTemplateName
Name the filter template is registered under within the template engine.
|
private LdapPoolStrategy |
ldapPool
Ldap pool strategy.
|
private org.slf4j.Logger |
log
Class logger.
|
private boolean |
noResultsIsError
Whether an empty result set is an error.
|
private net.sf.ehcache.Cache |
resultsCache
Cache of past search results.
|
private String[] |
returnAttributes
Attributes to return from ldap searches.
|
Constructor and Description |
---|
LdapDataConnector(LdapPoolStrategy pool,
net.sf.ehcache.Cache cache)
This creates a new LDAP data connector with the supplied properties.
|
Modifier and Type | Method and Description |
---|---|
protected Map<String,BaseAttribute> |
buildBaseAttributes(Iterator<SearchResult> results)
This returns a map of attribute ids to attributes from the supplied search results.
|
protected void |
cacheResult(String searchFilter,
Map<String,BaseAttribute> attributes)
This stores the supplied attributes in the cache.
|
protected void |
clearCache()
Removes all entries from the cache if results are being cached.
|
String |
getFilterTemplate()
Gets the template used to create queries.
|
LdapPoolStrategy |
getLdapPool()
This returns the ldap pool strategy this connector is using.
|
String[] |
getReturnAttributes()
This returns the attributes that all searches will request from the ldap.
|
TemplateEngine |
getTemplateEngine()
Gets the engine used to evaluate the query template.
|
boolean |
isCacheResults()
This returns whether this connector will cache search results.
|
boolean |
isNoResultsIsError()
This returns whether this connector will throw an exception if no search results are found.
|
void |
registerTemplate(TemplateEngine engine,
String template)
This sets the underlying template engine and registers the supplied template.
|
Map<String,BaseAttribute> |
resolve(ShibbolethResolutionContext resolutionContext)
Performs the attribute resolution for this plugin.
|
protected Map<String,BaseAttribute> |
retrieveAttributesFromCache(String searchFilter)
This retrieves any cached attributes for the supplied resolution context.
|
protected Iterator<SearchResult> |
searchLdap(String searchFilter)
This searches the LDAP with the supplied filter.
|
void |
setNoResultsIsError(boolean isError)
This sets whether this connector will throw an exception if no search results are found.
|
void |
setReturnAttributes(String s)
This sets the attributes that all searches will request from the ldap.
|
void |
setReturnAttributes(String[] attributes)
This sets the attributes that all searches will request from the ldap.
|
void |
validate()
Validate the internal state of this plug-in.
|
getFailoverDependencyId, setFailoverDependencyIds
getDependencyIds, getId, getValuesFromAllDependencies, getValuesFromAttributeDependency, getValuesFromConnectorDependency, setId
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDependencyIds, getId
private final org.slf4j.Logger log
private LdapPoolStrategy ldapPool
private TemplateEngine filterCreator
private String filterTemplateName
private String filterTemplate
private String[] returnAttributes
private boolean noResultsIsError
private net.sf.ehcache.Cache resultsCache
private final LdapDataConnector.LDAPValueEscapingStrategy escapingStrategy
public LdapDataConnector(LdapPoolStrategy pool, net.sf.ehcache.Cache cache)
pool
- LDAP connection pooling strategycache
- cached used to cache search results, or null if results should not be cachedpublic void registerTemplate(TemplateEngine engine, String template)
engine
- engine used to fill in search filter templatestemplate
- search filter templateprotected void clearCache()
public boolean isCacheResults()
public boolean isNoResultsIsError()
public void setNoResultsIsError(boolean isError)
isError
- true if searches which return no results are considered an error, false otherwisepublic TemplateEngine getTemplateEngine()
public String getFilterTemplate()
public LdapPoolStrategy getLdapPool()
public String[] getReturnAttributes()
String[]
public void setReturnAttributes(String[] attributes)
attributes
- String[]
clearCache()
public void setReturnAttributes(String s)
s
- String[]
comma delimited returnAttributespublic void validate() throws AttributeResolutionException
AttributeResolutionException
- if the plug-in has an invalid internal statepublic Map<String,BaseAttribute> resolve(ShibbolethResolutionContext resolutionContext) throws AttributeResolutionException
resolutionContext
- the context for the resolutionAttributeResolutionException
- the problem that occurred during the resolutionprotected Map<String,BaseAttribute> retrieveAttributesFromCache(String searchFilter)
searchFilter
- the search filter the produced the attributesMap
of attributes IDs to attributesprotected Iterator<SearchResult> searchLdap(String searchFilter) throws AttributeResolutionException
searchFilter
- String
the searchFilter that produced the attributesIterator
of search resultsAttributeResolutionException
- if an error occurs performing the searchprotected Map<String,BaseAttribute> buildBaseAttributes(Iterator<SearchResult> results) throws AttributeResolutionException
results
- Iterator
of LDAP search resultsMap
of attribute ids to attributesAttributeResolutionException
- if an error occurs parsing attribute resultsprotected void cacheResult(String searchFilter, Map<String,BaseAttribute> attributes)
searchFilter
- the searchFilter that produced the attributesattributes
- Map
of attribute IDs to attributesCopyright © 1999-2012. All Rights Reserved.