2011-06-06 2 views
0

Je suis toujours à la recherche de StackOverFlow ainsi que les innertubes, mais je n'ai pas trouvé un exemple de ce que je dois faire.asp.net adhésion changement personnalisé de mots de passe par les utilisateurs et les administrateurs

  1. Si un utilisateur a oublié son mot de passe et ils répondre correctement à leur question de rappel, l'utilisateur est présenté deux champs de formulaire pour entrer un nouveau mot de passe; Ne pas envoyer par courrier électronique ou afficher un mot de passe généré de manière aléatoire.

  2. Si l'utilisateur appelle le centre de support, un administrateur peut modifier le mot de passe, la question de rappel et la réponse.

Merci,

James

Répondre

2

il suffit d'utiliser ce code:

var user = Membership.GetUser(username); 
user.ChangePassword(user.ResetPassword(), newPassword); 

cette option pour réinitialiser le mot de passe simplement d'abord et il passe alors au nouveau mot de passe, vous n'avez pas besoin connaître le mot de passe intermédiaire réinitialisé

+0

OK. La partie sur laquelle je suis bloqué est l'utilisation de l'assistant de récupération de mot de passe, j'utilise "OnSendingMail" de PasswordRecovery (pour ne pas envoyer d'e-mail) pour afficher les deux champs de saisie pour le nouveau mot de passe. ? – James

+0

oui en utilisant l'événement 'SendingMail' vous pouvez empêcher l'envoi du courrier. c'est parce que 'MailMessageEventArgs' (supposons' e') a une propriété nommée 'Cancel', vous pouvez annuler l'envoi de courrier en définissant' e.Cancel = true; 'dans le gestionnaire d'événements. –

+0

Correct, je comprends cela. Je veux savoir si c'est là où l'utilisateur soumet sa réponse et qu'elle correspond, appeler un panneau pour afficher le nouveau formulaire de mot de passe à soumettre. – James

Questions connexes