ActiveDirectoryMembershipProvider.ChangePasswordQuestionAndAnswer Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.
La méthode ChangePasswordQuestionAndAnswer(String, String, String, String) est appelée avant l'initialisation de l'instance de 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 êtretrue
.attributeMapPasswordQuestion
etattributeMapPasswordAnswer
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.