Class DefaultSpringSecurityContextSource

  extended by
      extended by
          extended by
All Implemented Interfaces:
InitializingBean, ContextSource, BaseLdapPathContextSource, BaseLdapPathSource
Direct Known Subclasses:

public class DefaultSpringSecurityContextSource
extends LdapContextSource

ContextSource implementation which uses Spring LDAP's LdapContextSource as a base class. Used internally by the Spring Security LDAP namespace configuration.

From Spring Security 2.5, Spring LDAP 1.3 is used and the ContextSource interface provides support for binding with a username and password. As a result, Spring LDAP ContextSource implementations such as LdapContextSource may be used directly with Spring Security.

Spring LDAP 1.3 doesn't have JVM-level LDAP connection pooling enabled by default. This class sets the pooled property to true, but customizes the DirContextAuthenticationStrategy used to disable pooling when the DN doesn't match the userDn property. This prevents pooling for calls to AbstractContextSource.getContext(String, String) to authenticate as specific users.


Field Summary
protected  org.apache.commons.logging.Log logger
Fields inherited from class
password, SUN_LDAP_POOLING_FLAG, userDn
Constructor Summary
DefaultSpringSecurityContextSource(String providerUrl)
          Create and initialize an instance which will connect to the supplied LDAP URL.
Method Summary
Methods inherited from class
Methods inherited from class
afterPropertiesSet, assembleProviderUrlString, createContext, getAnonymousEnv, getAuthenticatedEnv, getAuthenticationSource, getBase, getBaseLdapPath, getBaseLdapPathAsString, getContext, getContextFactory, getDirObjectFactory, getReadOnlyContext, getReadWriteContext, getUrls, isAnonymousReadOnly, isPooled, setAnonymousReadOnly, setAuthenticationSource, setAuthenticationStrategy, setBase, setBaseEnvironmentProperties, setCacheEnvironmentProperties, setContextFactory, setDirObjectFactory, setPassword, setPooled, setReferral, setupAuthenticatedEnvironment, setUrl, setUrls, setUserDn
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


protected final org.apache.commons.logging.Log logger
Constructor Detail


public DefaultSpringSecurityContextSource(String providerUrl)
Create and initialize an instance which will connect to the supplied LDAP URL.

providerUrl - an LDAP URL of the form ldap://localhost:389/base_dn