Condividi tramite


ActiveDirectoryMembershipProvider.ValidateUser(String, String) Metodo

Definizione

Verifica che nome utente e password specificati esistano nell'origine dati di Active Directory.

public:
 override bool ValidateUser(System::String ^ username, System::String ^ password);
public override bool ValidateUser (string username, string password);
override this.ValidateUser : string * string -> bool
Public Overrides Function ValidateUser (username As String, password As String) As Boolean

Parametri

username
String

Nome dell'utente da convalidare.

password
String

Password dell'utente specificato.

Restituisce

true se username e password specificati sono validi; in caso contrario, false. Se l'utente specificato non esiste nell'archivio dati di Active Directory, il metodo ValidateUser(String, String) restituisce false.

Eccezioni

Il metodo ValidateUser(String, String) viene chiamato prima che venga inizializzata l'istanza della classe ActiveDirectoryMembershipProvider.

Commenti

Questo metodo viene chiamato dalla Membership classe per convalidare le credenziali utente rispetto all'archivio dati di Active Directory.

Se la EnablePasswordReset proprietà è true e le credenziali specificate sono valide, i contatori di rilevamento dell'utente per le risposte alle password non valide vengono reimpostati.

Il ValidateUser metodo può restituire false quando vengono fornite le credenziali corrette, nelle circostanze seguenti:

  1. L'account utente è stato bloccato dal server di directory a causa di troppi tentativi di accesso non riusciti. L'utente non sarà in grado di accedere fino al termine della durata del blocco della directory.

  2. Se la EnablePasswordReset proprietà è true, l'account utente verrà bloccato se l'utente ha fornito una risposta password non valida troppe volte. L'account dell'utente verrà sbloccato dopo il superamento dell'ora specificata nella PasswordAnswerAttemptLockoutDuration proprietà.

  3. L'utente deve esistere nel contenitore specificato nella stringa di connessione. Le credenziali valide vengono fornite per un account utente che si trova in un contenitore diverso o in un dominio diverso. L'utente deve esistere nel contenitore specificato nella stringa di connessione.

Quando si convalida un utente, il provider convalida le credenziali connettendosi all'archivio dati di Active Directory usando il nome utente e la password specificati, non le credenziali configurate nel file di configurazione dell'applicazione.

Tuttavia, l'istanza ActiveDirectoryMembershipProvider si connetterà alla directory usando le credenziali configurate per i motivi seguenti.

  • Per verificare che un utente esista all'interno dell'ambito di ricerca come determinato dalla ActiveDirectoryMembershipProvider stringa di connessione dell'istanza. Il provider usa una ricerca sottoalbero a partire dal punto di ricerca specificato nella stringa di connessione per determinare se un utente esiste. L'utente deve esistere nel contenitore specificato. Le credenziali valide al di fuori del contenitore specificato della stringa di connessione non verranno convalidate. Per altre informazioni sulle stringhe di connessione, vedere l'argomento relativo alla ActiveDirectoryMembershipProvider classe.

  • Se la EnablePasswordReset proprietà è true, l'istanza ActiveDirectoryMembershipProvider userà le credenziali configurate per caricare l'istanza dell'utente per verificare se l'utente è stato bloccato perché ha effettuato troppi tentativi non riusciti di modificare la risposta alla password.

Importante

La connessione a un controller di dominio Active Directory con l'account "Guest" abilitato è una potenziale minaccia per la sicurezza. Tutti i tentativi di convalida eseguiti in un controller di dominio Active Directory con l'account "Guest" abilitato avranno esito positivo. Per migliorare la sicurezza quando si usa un controller di dominio Active Directory, è necessario disabilitare l'account "Guest" nel controller di dominio.

L'istanza ActiveDirectoryMembershipProvider tenterà un binding simultaneo in Active Directory quando viene soddisfatta una delle condizioni seguenti:

Inoltre, affinché venga eseguita un'associazione simultanea, è necessario che siano soddisfatte le condizioni seguenti:

  • Il server directory deve essere in esecuzione in Windows Server 2003.

  • Il sistema operativo del server Web che esegue l'istanza ActiveDirectoryMembershipProvider deve supportare le associazioni simultanee, ad esempio Windows Server 2003.

Quando viene utilizzato un binding simultaneo, l'ultima data di accesso per l'utente non viene aggiornata nella directory; pertanto, la LastLoginDate proprietà non può essere usata.

Gli spazi iniziali e finali vengono eliminati dal username parametro .

Si applica a

Vedi anche