@ThreadSafety(level=COMPLETELY_THREADSAFE) public final class SASLClientBindHandler extends java.lang.Object
SaslClient
to perform all of the
SASL-related processing. This also supports enabling communication security
for SASL mechanisms that support the auth-int
or auth-conf
quality of protection mechanisms.Constructor and Description |
---|
SASLClientBindHandler(SASLBindRequest bindRequest,
LDAPConnection connection,
java.lang.String mechanism,
javax.security.sasl.SaslClient saslClient,
Control[] controls,
long responseTimeoutMillis,
java.util.List<java.lang.String> unhandledCallbackMessages)
Creates a new SASL client with the provided information.
|
Modifier and Type | Method and Description |
---|---|
int |
getMessageID()
Retrieves the message ID for the last message in the exchange with the
directory server.
|
BindResult |
processSASLBind()
Performs a SASL bind against an LDAP directory server.
|
public SASLClientBindHandler(@NotNull SASLBindRequest bindRequest, @NotNull LDAPConnection connection, @NotNull java.lang.String mechanism, @NotNull javax.security.sasl.SaslClient saslClient, @Nullable Control[] controls, long responseTimeoutMillis, @NotNull java.util.List<java.lang.String> unhandledCallbackMessages)
bindRequest
- The SASL bind request being processed.
This must not be null
.connection
- The connection to use to communicate
with the directory server. This must
not be null
.mechanism
- The name of the SASL mechanism to use.
This must not be null
or empty.saslClient
- The Java SASL client instance to use to
perform the processing. This must not
be null
.controls
- The set of controls to include in the
request. This may be null
or
empty if no controls should be included
in the request.responseTimeoutMillis
- The maximum length of time in
milliseconds to wait for a response from
the server. A value that is less than
or equal to zero indicates that no
timeout should be enforced.unhandledCallbackMessages
- A list that will be updated with
messages about any unhandled callbacks.
This list must be managed by the bind
request class, which should update it if
its CallbackHandler.handle
method is invoked with one or more
callbacks that it does not handle or
support. It must not be null
.@NotNull public BindResult processSASLBind() throws LDAPException
LDAPException
- If a problem occurs while processing the bind.public int getMessageID()