ActiveDirectoryMembershipProvider.ValidateUser(String, String) Méthode

Définition

Vérifie que le nom d'utilisateur et le mot de passe spécifiés existent dans le magasin de données 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

Paramètres

username
String

Nom de l’utilisateur à valider.

password
String

Mot de passe de l'utilisateur spécifié.

Retours

true si le username et le password spécifiés sont valides ; sinon, false. Si l'utilisateur spécifié n'existe pas dans le magasin de données Active Directory, la méthode ValidateUser(String, String) retourne false.

Exceptions

La méthode ValidateUser(String, String) est appelée avant l'initialisation de l'instance de ActiveDirectoryMembershipProvider.

Remarques

Cette méthode est appelée par la Membership classe pour valider les informations d’identification de l’utilisateur par rapport au magasin de données Active Directory.

Si la EnablePasswordReset propriété est true et que les informations d’identification fournies sont valides, les compteurs de suivi de l’utilisateur pour les réponses de mot de passe incorrectes sont réinitialisés.

La ValidateUser méthode peut retourner false lorsque les informations d’identification correctes sont fournies, dans les circonstances suivantes :

  1. Le compte d’utilisateur a été verrouillé par le serveur d’annuaire en raison d’un trop grand nombre de tentatives d’ouverture de session ayant échoué. L’utilisateur ne pourra pas se connecter tant que la durée de verrouillage de l’annuaire n’est pas passée.

  2. Si la propriété a la EnablePasswordReset valeur true, le compte d’utilisateur est verrouillé si l’utilisateur a fourni une réponse de mot de passe incorrecte trop souvent. Le compte de l’utilisateur se déverrouille une fois la durée spécifiée dans la PasswordAnswerAttemptLockoutDuration propriété passée.

  3. L’utilisateur doit exister dans le conteneur spécifié dans la chaîne de connexion. Des informations d’identification valides sont fournies pour un compte d’utilisateur situé dans un autre conteneur ou dans un domaine différent. L’utilisateur doit exister dans le conteneur spécifié dans la chaîne de connexion.

Lors de la validation d’un utilisateur, le fournisseur valide les informations d’identification en se connectant au magasin de données Active Directory à l’aide du nom d’utilisateur et du mot de passe spécifiés, et non des informations d’identification configurées dans le fichier de configuration de l’application.

Toutefois, l’instance ActiveDirectoryMembershipProvider se connecte au répertoire à l’aide des informations d’identification configurées pour les raisons suivantes.

  • Pour vérifier qu’un utilisateur existe dans l’étendue de recherche, comme déterminé par la chaîne de connexion de l’instance ActiveDirectoryMembershipProvider . Le fournisseur utilise une recherche de sous-arborescence commençant au point de recherche spécifié dans la chaîne de connexion pour déterminer si un utilisateur existe. L’utilisateur doit exister dans le conteneur spécifié. Les informations d’identification valides en dehors du conteneur spécifié de la chaîne de connexion ne seront pas validées. Consultez la rubrique de ActiveDirectoryMembershipProvider classe pour plus d’informations sur les chaînes de connexion.

  • Si la propriété a la EnablePasswordReset valeur true, l’instance ActiveDirectoryMembershipProvider utilise les informations d’identification configurées pour charger l’instance utilisateur afin de vérifier si l’utilisateur a été verrouillé parce qu’il a effectué trop de tentatives ayant échoué pour modifier la réponse de mot de passe.

Important

La connexion à un contrôleur de domaine Active Directory avec le compte « Invité » activé est une menace de sécurité potentielle. Toutes les tentatives de validation effectuées sur un contrôleur de domaine Active Directory avec le compte « Invité » activé réussissent. Pour améliorer la sécurité lors de l’utilisation d’un contrôleur de domaine Active Directory, vous devez désactiver le compte « Invité » sur le contrôleur de domaine.

L’instance ActiveDirectoryMembershipProvider tente une liaison simultanée avec Active Directory lorsque l’une des conditions suivantes est remplie :

En outre, pour qu’une liaison simultanée soit établie, les conditions suivantes doivent être remplies :

  • Le serveur d’annuaire doit s’exécuter sur Windows Server 2003.

  • Le système d’exploitation du serveur Web exécutant l’instance ActiveDirectoryMembershipProvider doit prendre en charge les liaisons simultanées (par exemple, Windows Server 2003).

Lorsqu’une liaison simultanée est utilisée, la date de la dernière ouverture de session de l’utilisateur n’est pas mise à jour dans le répertoire ; par conséquent, la LastLoginDate propriété ne peut pas être invoquée.

Les espaces de début et de fin sont supprimés du username paramètre .

S’applique à

Voir aussi