scénario légèrement impair. J'ai RequiresQuestionAndAnswer mis à false parce que l'administrateur doit être en mesure de créer des comptes sans remplir de questions et réponses, il veut que l'utilisateur place cette partie. Donc RequiresQuestionAndAnswer est faux, l'utilisateur se connecte et est invité à configurer son propre mot de passe de sécurité et de réponse (que j'ai codé moi-même mais qui utilise des méthodes d'adhésion pour stocker l'information) qui est stocké avec succès dans la base de données. la table aspnet_membership, comme si l'utilisateur était créé avec une question de mot de passe et une réponse initiale.ASP.NET RequiresQuestionAndAnswer fausses interruptions GetPassword
Ensuite, lorsque sur la page ForgotYourPassword, lorsque vous essayez d'utiliser Membership.Provider.GetPassword (nom d'utilisateur, passwordanswer), un mot de passe est généré même si la réponse du mot de passe est incorrecte.
Cela semble être un défaut dans aspnet car la mise RequiresQuestionAndAnswer à faux signifie pour moi:
« Je ne demande pas de créer un utilisateur, mais je peux quand même l'utiliser ».
considérant que, pour asp.net est moyen:
« Je ne demande pas de créer un utilisateur et je ne pourrai jamais l'utiliser et ainsi il sera ignoré partout. »
Quelqu'un sait-il comment contourner ce problème? Je dois être en mesure de confirmer que la réponse de sécurité fournie est correcte et réinitialisée ou obtenir le mot de passe de l'utilisateur. J'utilise des mots de passe cryptés non hachés, donc la récupération devrait être possible.
"J'utilise des mots de passe cryptés non hachés, donc la récupération devrait être possible." - [Veuillez hacher vos mots de passe] (http://stackoverflow.com/questions/325862/what-are-the-most-common-security-mistakes-programmers-make/325870#325870). –
@Chris - le cryptage résout le problème de hachage dans une certaine mesure dans la mesure où les mots de passe ne sont pas stockés en clair. Et c'est la seule option quand il faut pouvoir récupérer le texte du mot de passe. –