ldap_sasl_bindA function (winldap.h)

The ldap_sasl_bind is an asynchronous function that authenticates a client to the LDAP server using SASL.

Syntax

WINLDAPAPI INT LDAPAPI ldap_sasl_bindA(
  [in]  LDAP          *ExternalHandle,
  [in]  const PSTR    DistName,
  [in]  const PSTR    AuthMechanism,
  [in]  const BERVAL  *cred,
  [in]  PLDAPControlA *ServerCtrls,
  [in]  PLDAPControlA *ClientCtrls,
  [out] int           *MessageNumber
);

Parameters

[in] ExternalHandle

The session handle.

[in] DistName

The distinguished name of the entry used to bind.

[in] AuthMechanism

Indicates the authentication method to use.

[in] cred

The credentials to use for authentication. Arbitrary credentials can be passed using this parameter. The format and content of the credentials depend on the value of the AuthMechanism argument passed. For more information, see Remarks.

[in] ServerCtrls

A list of LDAP server controls.

[in] ClientCtrls

A list of LDAP client controls.

[out] MessageNumber

The message ID for the bind operation.

Return value

If the function succeeds, the return value is LDAP_SUCCESS.

If the function fails, it returns an error code. For more information, see Return Values.

Remarks

The ldap_sasl_bind routine binds to an LDAP server using the Simple Authentication and Security Layer (SASL) protocol. The bind operation identifies a client to the directory server by providing a distinguished name and some type of authentication credentials. The authentication method being used determines the particular type of credential, and is specified by the AuthMechanism argument. This is passed as a string in the form of "GSSAPI", "GSS-SPNEGO", "DIGEST-MD5", and so on. This function can be used to pass arbitrary credentials to the server, so the application must be ready to interpret the response sent back from the server.

Note  The Microsoft LDAP client uses a default timeout value of 120 seconds (2 minutes) for each bind-response roundtrip. This timeout value can be changed using the LDAP_OPT_TIMELIMIT session option. Other operations do not have a timeout unless specified using ldap_set_option.
 

Note

The winldap.h header defines ldap_sasl_bind as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows Vista
Minimum supported server Windows Server 2008
Target Platform Windows
Header winldap.h
Library Wldap32.lib
DLL Wldap32.dll

See also

Functions

Return Values

SEC_WINNT_AUTH_IDENTITY

ldap_bind

ldap_bind_s

ldap_sasl_bind_s

ldap_simple_bind

ldap_simple_bind_s