Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La función ldap_bind_s autentica de forma sincrónica un cliente en el servidor LDAP.
Sintaxis
WINLDAPAPI ULONG LDAPAPI ldap_bind_sW(
[in] LDAP *ld,
[in] PWSTR dn,
[in] PWCHAR cred,
[in] ULONG method
);
Parámetros
[in] ld
Identificador de sesión.
[in] dn
Puntero a una cadena terminada en null que contiene el nombre distintivo de la entrada utilizada para enlazar. Puede ser un DN, un UPN, un nombre de usuario de estilo WinNT u otro nombre que el servidor de directorios aceptará como identificador.
[in] cred
Puntero a una cadena terminada en NULL que contiene las credenciales con las que se va a autenticar. Las credenciales arbitrarias se pueden pasar mediante este parámetro. El formato y el contenido de las credenciales dependen del valor del método parámetro. Para obtener más información, vea Comentarios.
[in] method
Indica el método de autenticación que se va a usar. Para obtener más información y una lista de métodos de autenticación asincrónicos válidos, vea la sección Comentarios. Para obtener más información y una descripción del método de autenticación asincrónico válido, consulte ldap_bind.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es LDAP_SUCCESS.
Si se produce un error en la función, devuelve un código de error. Para obtener más información, vea valores devueltos.
Observaciones
La introducción del Control de cuentas de usuario en Windows Server 2008 y Windows Vista tiene una consecuencia muy importante con respecto a la realización de modificaciones o adiciones en LDAP. Cuando un usuario inicia sesión en un controlador de dominio con un token de administrador de UAC restringido y usa credenciales de NULL, cualquier modificación o adición al directorio, o cualquier operación de cambio de esquema, producirá un error. Esto incluye búsquedas de DirSync, recuperación de SACL desde el atributo ntSecurityDescriptor de un objeto cuando se usa SecurityDescriptorFlags y muchas otras operaciones.
Todos producirán un error con derechos de acceso insuficientes.
Si el control de cuentas de usuario está en vigor cuando un administrador inicia sesión en un controlador de dominio, el administrador obtendrá un token restringido en la sesión de inicio de sesión. Si usa ldap_bind_s con credenciales de NULL, se producirán errores en las operaciones que realicen modificaciones o adiciones.
La implementación de ldap_bind_s admite los métodos de autenticación enumerados en la tabla siguiente. Llamar a ldap_bind_s con la opción LDAP_AUTH_SIMPLE equivale a llamar a ldap_simple_bind_s.
Método | Descripción | Credencial |
---|---|---|
LDAP_AUTH_SIMPLE | Autenticación con una contraseña de texto no cifrado. | Cadena que contiene la contraseña de usuario. |
LDAP_AUTH_DIGEST | Paquete de autenticación implícita. | Para iniciar sesión como usuario actual, establezca los parámetros dn y cred en NULL. Para iniciar sesión como otro usuario, establezca el parámetro dn en null y el parámetro cred en un puntero a una estructura de SEC_WINNT_AUTH_IDENTITY con el nombre de usuario, el nombre de dominio y la contraseña adecuados. |
LDAP_AUTH_DPA | Autenticación de contraseña distribuida. Usado por El sistema de pertenencia a Microsoft. | Para iniciar sesión como usuario actual, establezca los parámetros dn y cred en NULL. Para iniciar sesión como otro usuario, establezca el parámetro dn en null y el parámetro cred en un puntero a una estructura de SEC_WINNT_AUTH_IDENTITY con el nombre de usuario, el nombre de dominio y la contraseña adecuados. |
LDAP_AUTH_MSN | Servicio de autenticación de red de Microsoft. | Para iniciar sesión como usuario actual, establezca los parámetros dn y cred en NULL. Para iniciar sesión como otro usuario, establezca el parámetro dn en null y el parámetro cred en un puntero a una estructura de SEC_WINNT_AUTH_IDENTITY con el nombre de usuario, el nombre de dominio y la contraseña adecuados. |
LDAP_AUTH_NEGOTIATE | Servicios de seguridad genéricos (GSS) (Snego). No proporciona autenticación, sino que elige el método de autenticación más adecuado de una lista de servicios disponibles y pasa todos los datos de autenticación a ese servicio. | Para iniciar sesión como usuario actual, establezca los parámetros dn y cred en NULL. Para iniciar sesión como otro usuario, establezca el parámetro dn en null y el parámetro cred en un puntero a una estructura de SEC_WINNT_AUTH_IDENTITY o SEC_WINNT_AUTH_IDENTITY_EX con el nombre de usuario, el nombre de dominio y la contraseña adecuados. |
LDAP_AUTH_NTLM | NT LAN Manager | Para iniciar sesión como usuario actual, establezca los parámetros dn y cred en NULL. Para iniciar sesión como otro usuario, establezca el parámetro dn en null y el parámetro cred en un puntero a una estructura de SEC_WINNT_AUTH_IDENTITY o SEC_WINNT_AUTH_IDENTITY_EX con el nombre de usuario, el nombre de dominio y la contraseña adecuados. |
LDAP_AUTH_SICILY | Trata la negociación de paquetes en servidores MSN. | Para iniciar sesión como usuario actual, establezca los parámetros dn y cred en NULL. Para iniciar sesión como otro usuario, establezca el parámetro dn en null y el parámetro cred en un puntero a una estructura de SEC_WINNT_AUTH_IDENTITY con el nombre de usuario, el nombre de dominio y la contraseña adecuados. |
LDAP_AUTH_SSPI | Obsoleto. Se incluye para la compatibilidad con versiones anteriores. Con esta constante se selecciona el servicio de negociación GSS (Snego). | Igual que LDAP_AUTH_NEGOTIATE. |
Para la autenticación de enlace asincrónica, use LDAP_AUTH_SIMPLE con ldap_bind.
La operación de enlace identifica un cliente al servidor de directorios proporcionando un nombre distintivo y algún tipo de credencial de autenticación, como una contraseña. Las credenciales exactas dependen del método de autenticación usado. Si pasa NULL para las credenciales con ldap_bind_s() (no simple), se usarán las credenciales de usuario o servicio actuales. Si se especifica un método de enlace simple (como en ldap_simple_bind_s), equivale a un NULL contraseña de texto no cifrado. Para obtener más información, vea ldap_bind.
Tenga en cuenta que los servidores LDAP 2 requieren que una aplicación se enlace antes de intentar otras operaciones que requieran autenticación.
Multithreading: las llamadas de enlace no son seguras porque se aplican a la conexión en su conjunto. Tenga cuidado si los subprocesos comparten conexiones e intente subprocesar las operaciones de enlace con otras operaciones.
Nota
El encabezado winldap.h define ldap_bind_s como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista |
servidor mínimo admitido | Windows Server 2008 |
de la plataforma de destino de |
Windows |
encabezado de |
winldap.h |
biblioteca de |
Wldap32.lib |
DLL de |
Wldap32.dll |
Consulte también
funciones de