ActiveDirectoryMembershipProvider.ChangePasswordQuestionAndAnswer Méthode

Définition

Met à jour la question et la réponse de mot de passe d'un utilisateur dans le magasin Active Directory.

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

Paramètres

username
String

Utilisateur pour lequel modifier la question de mot de passe et la réponse à celle-ci.

password
String

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

newPasswordQuestion
String

Nouvelle question de mot de passe pour l’utilisateur spécifié.

newPasswordAnswer
String

Nouvelle réponse à la question de mot de passe pour l’utilisateur spécifié.

Retours

Boolean

true si la mise à jour a réussi ; sinon, false. La valeur false est également retournée si le mot de passe est incorrect, si l'utilisateur est verrouillé ou si l'utilisateur n'existe pas dans le magasin de données Active Directory.

Exceptions

L'administrateur n'a pas mappé les champs de question et de réponse de mot de passe aux attributs du schéma Active Directory.

username est vide ou dépasse la longueur maximale autorisée pour le nom d'utilisateur (généralement 256 caractères).

  • ou - username contient des virgules.

  • ou - Le nom d'utilisateur est mappé à l'attribut userPrincipalName et le paramètre username contient des barres obliques inverses.

  • ou - password est une chaîne de longueur nulle.

  • ou - password dépasse la longueur maximale autorisée pour le mot de passe (généralement 128 caractères).

  • ou - newPasswordQuestion est vide et la propriété RequiresQuestionAndAnswer a la valeur true.

  • ou - newPasswordQuestion dépasse 256 caractères.

  • ou - newPasswordAnswer dépasse 128 caractères une fois la réponse chiffrée.

username a la valeur null.

-ou- password a la valeur null.

L’élément de configuration machineKey (Schéma des paramètres ASP.NET) indique une clé de chiffrement d’ordinateur générée automatiquement. Vous devez définir explicitement l’attribut decryptionKey de l’élément machineKey (Schéma des paramètres ASP.NET) pour stocker les réponses de mot de passe avec ActiveDirectoryMembershipProvider.

Remarques

La méthode est appelée par la ActiveDirectoryMembershipUser classe pour mettre à jour la question de mot de passe et répondre à un utilisateur dans le magasin d’appartenances Active Directory.

La nécessité d’une question et d’une réponse de mot de passe fournit une couche de sécurité supplémentaire lors de la réinitialisation du mot de passe d’un utilisateur. Lors de la création d’un nom d’utilisateur, un utilisateur peut fournir une question et une réponse qui peut ensuite être utilisée pour réinitialiser un mot de passe oublié. La ChangePasswordQuestionAndAnswer méthode met à jour la question de mot de passe et la réponse d’un utilisateur d’appartenance à de nouvelles valeurs.

Pour utiliser la ChangePasswordQuestionAndAnswer méthode, vous devez définir ces attributs supplémentaires dans le fichier de configuration de votre application :

  • requiresQuestionAndAnswer doit être true.

  • attributeMapPasswordQuestion et attributeMapPasswordAnswer doit être mappé aux attributs dans le schéma Active Directory.

Si les critères ci-dessus ne sont pas satisfaits, un ProviderException est levée à l’initialisation.

L’instance ActiveDirectoryMembershipProvider se connecte au magasin de données Active Directory avec les informations d’identification fournies dans les paramètres et password le username nom d’utilisateur pour valider la combinaison nom d’utilisateur/mot de passe. La mise à jour réelle de la question et de la réponse est effectuée avec les informations d’identification de connexion configurées du fournisseur.

Si un mot de passe incorrect est fourni à la ChangePasswordQuestionAndAnswer méthode, le serveur d’annuaire incrémente les compteurs qui suivent les tentatives de mot de passe non valides. Cela peut entraîner le verrouillage de l’utilisateur et ne pas pouvoir se connecter tant que l’état du verrou n’est pas effacé par un appel à la UnlockUser méthode ou à la durée verrouillée spécifiée dans le répertoire.

Si la mise à jour de la question et de la réponse réussit et que la EnablePasswordReset propriété est true, les compteurs de suivi de réponse de mot de passe incorrects de l’utilisateur sont réinitialisés.

La réponse de mot de passe est chiffrée à l’aide de la EncryptPassword méthode avant qu’elle soit stockée dans le magasin de données Active Directory. La clé de chiffrement et l’algorithme sont spécifiés par l’élément de configuration machineKey Element (ASP.NET Paramètres Schema). L’attribut de déchiffrement de l’élément machineKey (ASP.NET Paramètres Schema) doit être spécifié, la ActiveDirectoryMembershipProvider classe ne prend pas en charge les clés de chiffrement générées automatiquement.

La longueur maximale de la question de mot de passe est de 256 caractères. La longueur maximale de la réponse de mot de passe est de 128 caractères.

Les espaces de début et de fin sont coupés de toutes les valeurs de paramètre à l’exception passwordde .

Le fournisseur recherche l’instance utilisateur à mettre à jour en effectuant une recherche de sous-arborescence pour le nom d’utilisateur commençant au point de recherche spécifié dans la chaîne de connexion. Pour plus d’informations sur les chaînes de connexion, consultez la ActiveDirectoryMembershipProvider rubrique de classe.

S’applique à

Voir aussi