ActiveDirectoryMembershipProvider.ChangePasswordQuestionAndAnswer Méthode

Définition

Met à jour la question de mot de passe et la réponse 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

L’utilisateur doit modifier la question et la réponse du mot de passe.

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 de mot de passe pour l’utilisateur spécifié.

Retours

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

Exceptions

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

username est vide ou dépasse la longueur maximale du 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 username paramètre contient des barres obliques inverses.

- ou -

password est une chaîne de longueur nulle.

- ou -

password dépasse la longueur maximale du mot de passe (généralement 128 caractères).

- ou -

newPasswordQuestion est vide et la valeur de la RequiresQuestionAndAnswer propriété est 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 RequiresQuestionAndAnswer la propriété est true.

- ou -

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

L’élément machineKey (ASP.NET Settings Schema) indique une clé de chiffrement de machine générée automatiquement. Vous devez définir explicitement l’attribut decryptionKey de l’élément machineKey (ASP.NET Settings Schema) pour stocker les réponses de mot de passe avec le 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.

L’exigence d’une question et d’une réponse de mot de passe fournit une couche supplémentaire de sécurité 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 ensuite être utilisées 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 aux 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é à des attributs dans le schéma Active Directory.

Si les critères ci-dessus ne sont pas remplis, une ProviderException exception 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 les username paramètres 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 l’impossibilité de se connecter tant que l’état du verrou n’est pas effacé par un appel à la UnlockUser méthode ou par 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 des réponses 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 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 de l’élément machineKey (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 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