Interface GenericBindRequest

All Superinterfaces:
BindRequest, Request

public interface GenericBindRequest extends BindRequest
A generic Bind request which should be used for unsupported authentication methods. Servers that do not support a choice supplied by a client return a Bind response with the result code set to ResultCode.AUTH_METHOD_NOT_SUPPORTED.
  • Method Details

    • addControl

      Description copied from interface: Request
      Adds the provided control to this request.
      Specified by:
      addControl in interface BindRequest
      Specified by:
      addControl in interface Request
      Parameters:
      control - The control to be added to this request.
      Returns:
      This request.
    • createBindClient

      Description copied from interface: BindRequest
      Creates a new bind client which can be used to perform the authentication process. This method is called by protocol implementations and is not intended for use by applications.
      Specified by:
      createBindClient in interface BindRequest
      Parameters:
      serverName - The non-null fully-qualified host name of the server to authenticate to.
      Returns:
      The new bind client.
      Throws:
      LdapException - If an error occurred while creating the bind client context.
    • getAuthenticationType

      Description copied from interface: BindRequest
      Returns the authentication mechanism identifier for this generic bind request as defined by the LDAP protocol. Note that the value BindRequest.AUTHENTICATION_TYPE_SIMPLE (0x80) is reserved for simple authentication and the value BindRequest.AUTHENTICATION_TYPE_SASL ( 0xA3) is reserved for SASL authentication.
      Specified by:
      getAuthenticationType in interface BindRequest
      Returns:
      The authentication mechanism identifier.
    • getAuthenticationValue

      Returns the authentication information for this bind request. The content is defined by the authentication mechanism.

      Unless otherwise indicated, implementations will store a reference to the returned byte array, allowing applications to overwrite any sensitive data such as passwords after it has been used.

      Returns:
      The authentication information.
    • getControl

      <C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException
      Description copied from interface: Request
      Decodes and returns the first control in this request having an OID corresponding to the provided control decoder.
      Specified by:
      getControl in interface BindRequest
      Specified by:
      getControl in interface Request
      Type Parameters:
      C - The type of control to be decoded and returned.
      Parameters:
      decoder - The control decoder.
      options - The set of decode options which should be used when decoding the control.
      Returns:
      The decoded control, or null if the control is not included with this request.
      Throws:
      DecodeException - If the control could not be decoded because it was malformed in some way (e.g. the control value was missing, or its content could not be decoded).
    • getControls

      Description copied from interface: Request
      Returns a List containing the controls included with this request. The returned List may be modified if permitted by this request.
      Specified by:
      getControls in interface BindRequest
      Specified by:
      getControls in interface Request
      Returns:
      A List containing the controls.
    • getName

      Description copied from interface: BindRequest
      Returns the name of the Directory object that the client wishes to bind as. The name may be empty (but never null) when used for anonymous binds, or when using SASL authentication. The server shall not dereference any aliases in locating the named object.

      The LDAP protocol defines the Bind name to be a distinguished name, however some LDAP implementations have relaxed this constraint and allow other identities to be used, such as the user's email address.

      Specified by:
      getName in interface BindRequest
      Returns:
      The name of the Directory object that the client wishes to bind as.
    • setAuthenticationType

      Sets the authentication mechanism identifier for this generic bind request. Note that value 0 is reserved for simple authentication, 1 and 2 are reserved but unused, and 3 is reserved for SASL authentication.
      Parameters:
      type - The authentication mechanism identifier for this generic bind request.
      Returns:
      This generic bind request.
      Throws:
      UnsupportedOperationException - If this generic bind request does not permit the authentication type to be set.
    • setAuthenticationValue

      Sets the authentication information for this generic bind request in a form defined by the authentication mechanism.

      Unless otherwise indicated, implementations will store a reference to the returned byte array, allowing applications to overwrite any sensitive data such as passwords after it has been used.

      Parameters:
      bytes - The authentication information for this generic bind request in a form defined by the authentication mechanism.
      Returns:
      This generic bind request.
      Throws:
      UnsupportedOperationException - If this generic bind request does not permit the authentication bytes to be set.
      NullPointerException - If bytes was null.
    • setName

      Sets the name of the Directory object that the client wishes to bind as. The name may be empty (but never null when used for of anonymous binds, or when using SASL authentication. The server shall not dereference any aliases in locating the named object.

      The LDAP protocol defines the Bind name to be a distinguished name, however some LDAP implementations have relaxed this constraint and allow other identities to be used, such as the user's email address.

      Parameters:
      name - The name of the Directory object that the client wishes to bind as.
      Returns:
      This bind request.
      Throws:
      UnsupportedOperationException - If this bind request does not permit the distinguished name to be set.
      NullPointerException - If name was null.