Changement de Mot de passe Utilisateur ASP.NET l'Authentification par Formulaires
Je code en C# (ASP.NET) et je suis à l'aide de l'authentification par Formulaires.
Je voudrais savoir quelle est la meilleure méthode pour modifier un mot de passe utilisateur, sans l'aide de l'asp:ChangePassword de contrôle.
Je ne veux pas utiliser la réinitialisation du mot de passe de la méthode.
Je veux juste saisir le mot de passe que j'ai dans ma zone de texte et de le remplacer avec mon ancien mot de passe.
Veuillez noter que le PasswordFormat que j'utilise est passwordFormat="Haché"
Quelques extraits de code serait utile
Edit:
Dans mon web.config, j'ai mis enablePasswordRetrieval="false"
J'ai utilisé la méthode suivante
var myUser = Membership.GetUser(userID);
bool isChangeSuccess = myUser.ChangePassword(
myUser.GetPassword(),
ActivateUserPasswordText.Text.Trim());
Il me donne l'erreur,
Cette Adhésion Fournisseur n'a pas été
configuré pour prendre en charge le mot de passe
de la récupération.
Ce qui pourrait être fait pour résoudre ces problèmes?
J'aimerais vraiment que mon PasswordFormat être de hachage lui-même.
Ce qui concerne,
Naveen Jose
Vous devez vous connecter pour publier un commentaire.
Réussi à le résoudre. Merci à mes collègues du développeur.
Ne peux pas dire j'ai beaucoup aimé, bien que.
J'ai pensé ResetPassword() serait de retourner un booléen.
En supposant que vous utilisez le ASP.NET la sécurité des bidules.
System.Web.De sécurité.MembershipProvider.ChangePassword
méthodeSeulement la valeur de Hachage pour les mots de passe sont habituellement stockés par la asp.net fournisseur d'appartenances, de sorte qu'il n'est pas possible de récupérer le mot de passe original. Il est possible de modifier ce comportement par la configuration, mais il n'est pas recommandé.
Simplement demander à l'utilisateur d'entrer l'ancien mot de passe, également lors du changement de mot de passe. Vous pouvez utiliser l'ancien mot de passe entré par l'utilisateur à l'Utilisateur.ChangePassword méthode et ça devrait fonctionner.
Cette Adhésion Fournisseur n'a pas été configuré pour prendre en charge récupération de mot de passe.
Le message ci-dessus est affiché en raison de votre mot de passe format de sel et de sorte que vous ne pouvez pas obtenir le mot de passe de l'utilisateur. Si vous souhaitez faire modifier le format de mot de passe et essayez à nouveau.
ChangePassword
ne nécessitent ancien mot de passe comme paramètre.Sur la chance que quelqu'un est à l'aide de la ApplicationUser et non sur la participation - comme je l'étais parce que je n'ai pas envie de mettre un Fournisseur d'appartenances - vous pouvez changer le mot de passe de cette façon:
Espère que cela aide quelqu'un