funzione ldap_bind_s (winldap.h)
La funzione ldap_bind_s autentica in modo sincrono un client al server LDAP.
Sintassi
WINLDAPAPI ULONG LDAPAPI ldap_bind_s(
[in] LDAP *ld,
[in] const PSTR dn,
[in] const PCHAR cred,
[in] ULONG method
);
Parametri
[in] ld
Handle di sessione.
[in] dn
Puntatore a una stringa con terminazione null contenente il nome distinto della voce usata per associare. Questo può essere un DN, un UPN, un nome utente di stile WinNT o un altro nome che il server di directory accetterà come identificatore.
[in] cred
Puntatore a una stringa con terminazione null contenente le credenziali con cui eseguire l'autenticazione. Le credenziali arbitrarie possono essere passate usando questo parametro. Il formato e il contenuto delle credenziali dipendono dall'impostazione del parametro del metodo . Per altre informazioni, vedere la sezione Osservazioni.
[in] method
Indica il metodo di autenticazione da usare. Per altre informazioni e un elenco di metodi di autenticazione asincroni validi, vedere la sezione Osservazioni. Per altre informazioni e una descrizione del metodo di autenticazione asincrona valido, vedere ldap_bind.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è LDAP_SUCCESS.
Se la funzione non viene completata, restituisce un codice di errore. Per altre informazioni, vedere Valori restituiti.
Commenti
L'introduzione di Controllo account utente in Windows Server 2008 e Windows Vista ha una conseguenza molto importante per quanto riguarda l'esecuzione di modifiche o aggiunte in LDAP. Quando un utente è connesso a un controller di dominio con un token amministratore dell'interfaccia utente limitato e usa credenziali NULL , qualsiasi modifica o aggiunta alla directory o qualsiasi operazione di modifica dello schema, avrà esito negativo. Sono incluse le ricerche DirSync, il recupero di SACL dall'attributo ntSecurityDescriptor di un oggetto durante l'uso di SecurityDescriptorFlags e molte altre operazioni.
Questi errori avranno esito negativo con diritti di accesso insufficienti.
Se il controllo account utente è effettivo quando un amministratore accede a un controller di dominio, l'amministratore otterrà un token limitato nella sessione di accesso. Se usa ldap_bind_s con credenziali NULL , le operazioni che apportano modifiche o aggiunte avranno esito negativo.
L'implementazione di ldap_bind_s supporta i metodi di autenticazione elencati nella tabella seguente. La chiamata ldap_bind_s con l'opzione LDAP_AUTH_SIMPLE equivale a chiamare ldap_simple_bind_s.
Metodo | Descrizione | Credenziale |
---|---|---|
LDAP_AUTH_SIMPLE | Autenticazione con una password di testo non crittografato. | Stringa contenente la password utente. |
LDAP_AUTH_DIGEST | Pacchetto di autenticazione del digest. | Per accedere come utente corrente, impostare i parametri dn e cred su NULL. Per accedere come un altro utente, impostare il parametro dn su NULL e il parametro cred su un puntatore a una struttura SEC_WINNT_AUTH_IDENTITY con il nome utente, il nome di dominio e la password appropriati. |
LDAP_AUTH_DPA | Autenticazione password distribuita. Usato da Microsoft Membership System. | Per accedere come utente corrente, impostare i parametri dn e cred su NULL. Per accedere come un altro utente, impostare il parametro dn su NULL e il parametro cred su un puntatore a una struttura SEC_WINNT_AUTH_IDENTITY con il nome utente, il nome di dominio e la password appropriati. |
LDAP_AUTH_MSN | Servizio autenticazione di rete Microsoft. | Per accedere come utente corrente, impostare i parametri dn e cred su NULL. Per accedere come un altro utente, impostare il parametro dn su NULL e il parametro cred su un puntatore a una struttura SEC_WINNT_AUTH_IDENTITY con il nome utente, il nome di dominio e la password appropriati. |
LDAP_AUTH_NEGOTIATE | Servizi di sicurezza generici (GSS) (Snego). Non fornisce l'autenticazione, ma sceglie invece il metodo di autenticazione più appropriato da un elenco di servizi disponibili e passa tutti i dati di autenticazione a tale servizio. | Per accedere come utente corrente, impostare i parametri dn e cred su NULL. Per accedere come un altro utente, impostare il parametro dn su NULL e il parametro cred su un puntatore a un SEC_WINNT_AUTH_IDENTITYo SEC_WINNT_AUTH_IDENTITY_EX struttura con il nome utente, il nome di dominio e la password appropriati. |
LDAP_AUTH_NTLM | Gestione LAN NT | Per accedere come utente corrente, impostare i parametri dn e cred su NULL. Per accedere come un altro utente, impostare il parametro dn su NULL e il parametro cred su un puntatore a un SEC_WINNT_AUTH_IDENTITYo SEC_WINNT_AUTH_IDENTITY_EX struttura con il nome utente, il nome di dominio e la password appropriati. |
LDAP_AUTH_SICILY | Illustra la negoziazione dei pacchetti ai server MSN. | Per accedere come utente corrente, impostare i parametri dn e cred su NULL. Per accedere come un altro utente, impostare il parametro dn su NULL e il parametro cred su un puntatore a una struttura SEC_WINNT_AUTH_IDENTITY con il nome utente, il nome di dominio e la password appropriati. |
LDAP_AUTH_SSPI | Obsoleta. Incluso per la compatibilità con le versioni precedenti. L'uso di questa costante seleziona il servizio di negoziazione GSS (Snego). | Uguale a LDAP_AUTH_NEGOTIATE. |
Per l'autenticazione di associazione asincrona, usare LDAP_AUTH_SIMPLE con ldap_bind.
L'operazione di associazione identifica un client nel server directory fornendo un nome distinto e un tipo di credenziali di autenticazione, ad esempio una password. Le credenziali esatte dipendono dal metodo di autenticazione usato. Se si passa NULL per le credenziali con ldap_bind_s() (non semplice), verranno usate le credenziali dell'utente o del servizio correnti. Se viene specificato un metodo di binding semplice (come in ldap_simple_bind_s), è equivalente a una password di testo non crittografato NULL . Per altre informazioni, vedere ldap_bind.
Tenere presente che i server LDAP 2 richiedono l'associazione di un'applicazione prima di tentare altre operazioni che richiedono l'autenticazione.
Multithreading: le chiamate di associazione non sono sicure perché si applicano alla connessione nel suo complesso. Prestare attenzione se i thread condividono le connessioni e provare a threadare le operazioni di associazione con altre operazioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | winldap.h |
Libreria | Wldap32.lib |
DLL | Wldap32.dll |