com.unboundid.ldap.listener
Class PLAINBindHandler

java.lang.Object
  extended by com.unboundid.ldap.listener.InMemorySASLBindHandler
      extended by com.unboundid.ldap.listener.PLAINBindHandler

@NotMutable
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public final class PLAINBindHandler
extends InMemorySASLBindHandler

This class defines a SASL bind handler which may be used to provide support for the SASL PLAIN mechanism (as defined in RFC 4616) in the in-memory directory server.


Constructor Summary
PLAINBindHandler()
          Creates a new instance of this SASL bind handler.
 
Method Summary
 java.lang.String getSASLMechanismName()
          Retrieves the name of the SASL mechanism supported by this bind handler.
 BindResult processSASLBind(InMemoryRequestHandler handler, int messageID, DN bindDN, ASN1OctetString credentials, java.util.List<Control> controls)
          Performs the appropriate processing for a SASL bind request with the provided information.
 
Methods inherited from class com.unboundid.ldap.listener.InMemorySASLBindHandler
toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PLAINBindHandler

public PLAINBindHandler()
Creates a new instance of this SASL bind handler.

Method Detail

getSASLMechanismName

public java.lang.String getSASLMechanismName()
Retrieves the name of the SASL mechanism supported by this bind handler.

Specified by:
getSASLMechanismName in class InMemorySASLBindHandler
Returns:
The name of the SASL mechanism supported by this bind handler.

processSASLBind

public BindResult processSASLBind(InMemoryRequestHandler handler,
                                  int messageID,
                                  DN bindDN,
                                  ASN1OctetString credentials,
                                  java.util.List<Control> controls)
Performs the appropriate processing for a SASL bind request with the provided information.

If the bind processing is successful, then this method should also call InMemoryRequestHandler.setAuthenticatedDN(DN) on the provided request handler instance to set the identity of the authenticated user.

If the associated SASL mechanism requires multiple stages of processing and it is necessary to store and retrieve state information to use in other stages of the bind processing, then the map returned by the InMemoryRequestHandler.getConnectionState() method should be used for this purpose.

Specified by:
processSASLBind in class InMemorySASLBindHandler
Parameters:
handler - The in-memory request handler that accepted the bind request.
messageID - The message ID for the LDAP message that the client used to send the request.
bindDN - The bind DN provided by the client.
credentials - The SASL credentials provided by the client, or null if there were none.
controls - The request controls provided by the client.
Returns:
The result that should be returned to the client in response to the provided request.