Class DefaultLdapContextFactory

  • All Implemented Interfaces:
    LdapContextFactory

    public class DefaultLdapContextFactory
    extends 
    implements LdapContextFactory
    Deprecated.
    replaced by the JndiLdapContextFactory implementation. This implementation will be removed prior to Shiro 2.0

    Default implementation of LdapContextFactory that can be configured or extended to customize the way objects are retrieved.

    This implementation of LdapContextFactory is used by the AbstractLdapRealm if a factory is not explictly configured.

    Connection pooling is enabled by default on this factory, but can be disabled using the usePooling property.

    Since:
    0.2
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      protected  env)
      Deprecated.
      Creates and returns a new instance.
       principal,  credentials)
      Deprecated.
      Creates (or retrieves from a pool) an LdapContext connection bound using the specified principal and credentials.
       username,  password)
      Deprecated.
      the getLdapContext(Object, Object) method should be used in all cases to ensure more than String principals and credentials can be used.
      getSystemLdapContext()
      Deprecated.
      Creates (or retrieves from a pool) a LdapContext connection bound using the system account, or anonymously if no system account is configured.
      void <,​> additionalEnvironment)
      Deprecated.
      These entries are added to the environment map before initializing the LDAP context.
      void  authentication)
      Deprecated.
      Sets the type of LDAP authentication to perform when connecting to the LDAP server.
      void  contextFactoryClassName)
      Deprecated.
      The context factory to use.
      void  principalSuffix)
      Deprecated.
      A suffix appended to the username.
      void  referral)
      Deprecated.
      Sets the LDAP referral property.
      void  searchBase)
      Deprecated.
      this attribute existed, but was never used in Shiro 1.x.
      void  systemPassword)
      Deprecated.
      The system password that will be used when connecting to the LDAP server to retrieve authorization information about a user.
      void  systemUsername)
      Deprecated.
      The system username that will be used when connecting to the LDAP server to retrieve authorization information about a user.
      void  url)
      Deprecated.
      The LDAP url to connect to.
      void setUsePooling​(boolean usePooling)
      Deprecated.
      Determines whether or not LdapContext pooling is enabled for connections made using the system user account.
      • Methods inherited from class java.lang.

        , , , , , , , , , ,
    • Field Detail

      • SUN_CONNECTION_POOLING_PROPERTY

        protected static final  SUN_CONNECTION_POOLING_PROPERTY
        Deprecated.
        The Sun LDAP property used to enable connection pooling. This is used in the default implementation to enable LDAP connection pooling.
        See Also:
        Constant Field Values
      • authentication

        protected  authentication
        Deprecated.
      • principalSuffix

        protected  principalSuffix
        Deprecated.
      • searchBase

        protected  searchBase
        Deprecated.
      • contextFactoryClassName

        protected  contextFactoryClassName
        Deprecated.
      • url

        protected  url
        Deprecated.
      • referral

        protected  referral
        Deprecated.
      • systemUsername

        protected  systemUsername
        Deprecated.
      • systemPassword

        protected  systemPassword
        Deprecated.
    • Constructor Detail

      • DefaultLdapContextFactory

        public DefaultLdapContextFactory()
        Deprecated.
    • Method Detail

      • setAuthentication

        public void setAuthentication​( authentication)
        Deprecated.
        Sets the type of LDAP authentication to perform when connecting to the LDAP server. Defaults to "simple"
        Parameters:
        authentication - the type of LDAP authentication to perform.
      • setPrincipalSuffix

        public void setPrincipalSuffix​( principalSuffix)
        Deprecated.
        A suffix appended to the username. This is typically for domain names. (e.g. "@MyDomain.local")
        Parameters:
        principalSuffix - the suffix.
      • setSearchBase

        public void setSearchBase​( searchBase)
        Deprecated.
        this attribute existed, but was never used in Shiro 1.x. It will be removed prior to Shiro 2.0.
        The search base for the search to perform in the LDAP server. (e.g. OU=OrganizationName,DC=MyDomain,DC=local )
        Parameters:
        searchBase - the search base.
      • setContextFactoryClassName

        public void setContextFactoryClassName​( contextFactoryClassName)
        Deprecated.
        The context factory to use. This defaults to the SUN LDAP JNDI implementation but can be overridden to use custom LDAP factories.
        Parameters:
        contextFactoryClassName - the context factory that should be used.
      • setUrl

        public void setUrl​( url)
        Deprecated.
        The LDAP url to connect to. (e.g. ldap://:)
        Parameters:
        url - the LDAP url.
      • setReferral

        public void setReferral​( referral)
        Deprecated.
        Sets the LDAP referral property. Defaults to "follow"
        Parameters:
        referral - the referral property.
      • setSystemUsername

        public void setSystemUsername​( systemUsername)
        Deprecated.
        The system username that will be used when connecting to the LDAP server to retrieve authorization information about a user. This must be specified for LDAP authorization to work, but is not required for only authentication.
        Parameters:
        systemUsername - the username to use when logging into the LDAP server for authorization.
      • setSystemPassword

        public void setSystemPassword​( systemPassword)
        Deprecated.
        The system password that will be used when connecting to the LDAP server to retrieve authorization information about a user. This must be specified for LDAP authorization to work, but is not required for only authentication.
        Parameters:
        systemPassword - the password to use when logging into the LDAP server for authorization.
      • setUsePooling

        public void setUsePooling​(boolean usePooling)
        Deprecated.
        Determines whether or not LdapContext pooling is enabled for connections made using the system user account. In the default implementation, this simply sets the com.sun.jndi.ldap.connect.pool property in the LDAP context environment. If you use an LDAP Context Factory that is not Sun's default implementation, you will need to override the default behavior to use this setting in whatever way your underlying LDAP ContextFactory supports. By default, pooling is enabled.
        Parameters:
        usePooling - true to enable pooling, or false to disable it.
      • setAdditionalEnvironment

        public void setAdditionalEnvironment​(<,​> additionalEnvironment)
        Deprecated.
        These entries are added to the environment map before initializing the LDAP context.
        Parameters:
        additionalEnvironment - additional environment entries to be configured on the LDAP context.
      • getSystemLdapContext

        public  getSystemLdapContext()
                                         throws 
        Deprecated.
        Description copied from interface: LdapContextFactory
        Creates (or retrieves from a pool) a LdapContext connection bound using the system account, or anonymously if no system account is configured.
        Specified by:
        getSystemLdapContext in interface LdapContextFactory
        Returns:
        a LdapContext bound by the system account, or bound anonymously if no system account is configured.
        Throws:
        - if there is an error creating the context.
      • getLdapContext

        public  getLdapContext​( username,
                                           password)
                                   throws 
        Deprecated.
        the getLdapContext(Object, Object) method should be used in all cases to ensure more than String principals and credentials can be used. Shiro no longer calls this method - it will be removed before the 2.0 release.
        Deprecated - use getLdapContext(Object, Object) instead. This will be removed before Apache Shiro 2.0.
        Specified by:
        getLdapContext in interface LdapContextFactory
        Parameters:
        username - the username to use when creating the connection.
        password - the password to use when creating the connection.
        Returns:
        a LdapContext bound using the given username and password.
        Throws:
        - if there is an error creating the context.
      • getLdapContext

        public  getLdapContext​( principal,
                                           credentials)
                                   throws 
        Deprecated.
        Description copied from interface: LdapContextFactory
        Creates (or retrieves from a pool) an LdapContext connection bound using the specified principal and credentials. The format of the principal and credentials are whatever is supported by the underlying LDAP implementation. The default Sun (now Oracle) implementation supports .

        This method was added in Shiro 1.1 to address the fact that principals and credentials can be more than just String user DNs and passwords for connecting to LDAP. For example, the credentials can be an X.509 certificate.

        Specified by:
        getLdapContext in interface LdapContextFactory
        Parameters:
        principal - the principal to use when acquiring a connection to the LDAP directory
        credentials - the credentials (password, X.509 certificate, etc) to use when acquiring a connection to the LDAP directory
        Returns:
        the acquired LdapContext connection bound using the specified principal and credentials.
        Throws:
        - if unable to acquire a connection.
      • createLdapContext

        protected  createLdapContext​( env)
                                         throws 
        Deprecated.
        Creates and returns a new instance. This method exists primarily to support testing where a mock LdapContext can be returned instead of actually creating a connection, but subclasses are free to provide a different implementation if necessary.
        Parameters:
        env - the JNDI environment settings used to create the LDAP connection
        Returns:
        an LdapConnection
        Throws:
        - if a problem occurs creating the connection