Partager via


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

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.

- ou -

newPasswordQuestion est null et la propriété RequiresQuestionAndAnswer a la valeur true.

- ou -

newPasswordAnswer est null et la propriété RequiresQuestionAndAnswer a la valeur true.

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 et la réponse de mot de passe d’un utilisateur dans le magasin d’appartenances Active Directory.

L’exigence 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 peuvent être utilisées ultérieurement 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 doivent être mappés à des attributs dans le schéma Active Directory.

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

L’instance ActiveDirectoryMembershipProvider se connecte au magasin de données Active Directory avec les informations d’identification fournies dans les username paramètres et password 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 effectuent le suivi des tentatives de mot de passe non valides. Cela peut entraîner le verrouillage de l’utilisateur et l’impossibilité de se connecter tant que l’état du verrou n’est pas effacé par un appel à la UnlockUser méthode ou que la durée de verrouillage spécifiée dans le répertoire est passée.

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 des réponses incorrectes 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 d’être 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 Settings Schema). L’attribut de déchiffrement sur l’élément machineKey Element (ASP.NET Settings 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 supprimés de toutes les valeurs de paramètre à l’exception de password.

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

S’applique à

Voir aussi