Class BindRequestImpl

    • Constructor Detail

      • BindRequestImpl

        public BindRequestImpl()
        Creates an BindRequest implementation to bind to an LDAP server.
    • Method Detail

      • isSimple

        public boolean isSimple()
        Checks to see if the authentication mechanism is simple and not SASL based.
        Specified by:
        isSimple in interface BindRequest
        Returns:
        true if the mechanism is simple false if it is SASL based.
      • getSimple

        public boolean getSimple()
        Checks to see if the authentication mechanism is simple and not SASL based.
        Specified by:
        getSimple in interface BindRequest
        Returns:
        true if the mechanism is simple false if it is SASL based.
      • setSimple

        public BindRequest setSimple​(boolean simple)
        Sets the authentication mechanism to simple or to SASL based authentication.
        Specified by:
        setSimple in interface BindRequest
        Parameters:
        simple - true if authentication is simple, false otherwise.
        Returns:
        The BindRequest instance
      • getCredentials

        public byte[] getCredentials()
        Gets the simple credentials associated with a simple authentication attempt or null if this request uses SASL authentication mechanisms.
        Specified by:
        getCredentials in interface BindRequest
        Returns:
        null if the mechanism is SASL, or the credentials if it is simple.
      • setCredentials

        public BindRequest setCredentials​(String credentials)
        Sets the simple credentials associated with a simple authentication attempt. Ignored if this request uses SASL authentication mechanisms.
        Specified by:
        setCredentials in interface BindRequest
        Parameters:
        credentials - the credentials if authentication is simple
        Returns:
        The BindRequest instance
      • setCredentials

        public BindRequest setCredentials​(byte[] credentials)
        Sets the simple credentials associated with a simple authentication attempt. Ignored if this request uses SASL authentication mechanisms.
        Specified by:
        setCredentials in interface BindRequest
        Parameters:
        credentials - the credentials if authentication is simple
        Returns:
        The BindRequest instance
      • getSaslMechanism

        public String getSaslMechanism()
        Gets the SASL mechanism String associated with this BindRequest if the bind operation is using SASL.
        Specified by:
        getSaslMechanism in interface BindRequest
        Returns:
        the SASL mechanism or null if the bind operation is simple
      • setSaslMechanism

        public BindRequest setSaslMechanism​(String saslMechanism)
        Sets the SASL mechanism String associated with this BindRequest if the bind operation is using SASL.
        Specified by:
        setSaslMechanism in interface BindRequest
        Parameters:
        saslMechanism - the SASL mechanism
        Returns:
        The BindRequest instance
      • getName

        public String getName()
        Gets the name of the subject in this authentication request. This field may take on a null value (a zero length string) for the purposes of anonymous binds, when authentication has been performed at a lower layer, or when using SASL credentials with a mechanism that includes the name in the credentials.
        Specified by:
        getName in interface BindRequest
        Returns:
        the name of the authenticating user.
      • setName

        public BindRequest setName​(String name)
        Sets the name of the subject in this authentication request. This field may take on a null value (or a zero length string) for the purposes of anonymous binds, when authentication has been performed at a lower layer, or when using SASL credentials with a mechanism that includes the name in the credentials.
        Specified by:
        setName in interface BindRequest
        Parameters:
        name - the name of the authenticating user - leave null for anonymous user.
        Returns:
        The BindRequest instance
      • getDn

        public Dn getDn()
        Gets the DN of the subject in this authentication request. This field may take on a null value (a zero length string) for the purposes of anonymous binds, when authentication has been performed at a lower layer, or when using SASL credentials with a mechanism that includes the DN in the credentials.
        Specified by:
        getDn in interface BindRequest
        Returns:
        the DN of the authenticating user.
      • setDn

        public BindRequest setDn​(Dn dn)
        Sets the DN of the subject in this authentication request. This field may take on a null value (or a zero length string) for the purposes of anonymous binds, when authentication has been performed at a lower layer, or when using SASL credentials with a mechanism that includes the DN in the credentials.
        Specified by:
        setDn in interface BindRequest
        Parameters:
        dn - the DN of the authenticating user - leave null for anonymous user.
        Returns:
        The BindRequest instance
      • isVersion3

        public boolean isVersion3()
        Checks to see if the Ldap v3 protocol is used. Normally this would extract a version number from the bind request sent by the client indicating the version of the protocol to be used in this protocol session. The integer is either a 2 or a 3 at the moment. We thought it was better to just check if the protocol used is 3 or not rather than use an type-safe enumeration type for a binary value. If an LDAPv4 comes out then we shall convert the return type to a type safe enumeration.
        Specified by:
        isVersion3 in interface BindRequest
        Returns:
        true if client using version 3 false if it is version 2.
      • getVersion3

        public boolean getVersion3()
        Gets whether or not the Ldap v3 protocol is used. Normally this would extract a version number from the bind request sent by the client indicating the version of the protocol to be used in this protocol session. The integer is either a 2 or a 3 at the moment. We thought it was better to just check if the protocol used is 3 or not rather than use an type-safe enumeration type for a binary value. If an LDAPv4 comes out then we shall convert the return type to a type safe enumeration.
        Specified by:
        getVersion3 in interface BindRequest
        Returns:
        true if client using version 3 false if it is version 2.
      • setVersion3

        public BindRequest setVersion3​(boolean version3)
        Sets whether or not the LDAP v3 or v2 protocol is used. Normally this would extract a version number from the bind request sent by the client indicating the version of the protocol to be used in this protocol session. The integer is either a 2 or a 3 at the moment. We thought it was better to just check if the protocol used is 3 or not rather than use an type-safe enumeration type for a binary value. If an LDAPv4 comes out then we shall convert the return type to a type safe enumeration.
        Specified by:
        setVersion3 in interface BindRequest
        Parameters:
        version3 - if true the client will be exhibiting version 3 bind behavior, If false is used version 2 behavior will be exhibited.
        Returns:
        The BindRequest instance
      • equals

        public boolean equals​(Object obj)
        Checks to see if two messages are equivalent. Messages equivalence does not factor in parameters accessible through the get() and put() operations, nor do they factor in the Lockable properties of the Message. Only the type, controls, and the messageId are evaluated for equality.
        Overrides:
        equals in class AbstractRequest
        Parameters:
        obj - the object to compare this Message to for equality
      • toString

        public String toString()
        Get a String representation of a BindRequest
        Overrides:
        toString in class Object
        Returns:
        A BindRequest String