2010-04-21 7 views
1

J'ai récemment posé une question similaire mais je n'ai pas obtenu de réponse. Je fais un pas en arrière avec une approche plus large.Quelle est la meilleure pratique pour mvc2 confirmer le champ de mot de passe?

Je cherche à créer un champ de confirmation de mot de passe en utilisant asp.net MVC2 qui fonctionne sur le client. Toute la validation de mon autre client est faite avec MicrosoftMvcValidation.js en ajoutant simplement le Html.EnableClientValidation(); appel.

Certaines de mes considérations. Le mot de passe de confirmation doit-il faire partie de l'objet du modèle? En utilisant cette approche, j'ai créé la validation côté serveur en créant mon propre classeur de modèle.

Y a-t-il des projets qui ont fait cela?

Répondre

1

J'ai une idée sur la confirmation de mot de passe:

Nous signons jusqu'à des centaines de sites, et il étonnant que presque tous nous obligent à mot de passe de confirmation. Cela n'a aucun sens. Certes, vous donnez aux utilisateurs un moyen de réinitialiser leurs mots de passe, alors à quoi bon le confirmer? Si quelqu'un oublie ou a fait une faute de frappe (ce qui est rare de toute façon), alors il réinitialise simplement le mot de passe. Personnellement, je pense que la confirmation de mot de passe est une perte de temps et de ressources et n'est pas très facile à utiliser.

+0

+1 Je suis venu ici pour le dire, j'ai lu quelque chose récemment (un blog peut-être?) Qui discutait de toutes les douleurs inutiles que les utilisateurs subissent sans obtenir aucun avantage supplémentaire. Ce genre de chose est un parfait exemple de ce dont il parlait. –

0

Le mot de passe de confirmation ne doit absolument pas faire partie de l'objet du modèle. Il n'y a pas besoin de le stocker. Et je ne vois pas pourquoi vous avez besoin d'un classeur de modèle personnalisé, soit?

Il suffit d'avoir deux champs de mot de passe. L'un sera le vrai mot de passe que vous stockez, l'autre sera un champ fictif qui est juste utilisé pour la confirmation. Vous venez ensuite de vérifier dans votre contrôleur (ou ailleurs) que les deux mots de passe correspondent. Ce n'est pas quelque chose qui doit être complexe.

+0

Si le champ n'est pas mart du modèle, comment cette information atteindrait-elle le contrôleur? – Andrey

+0

Votre contrôleur peut accepter une chaîne portant le même nom que le champ de confirmation du mot de passe ou vous pouvez l'obtenir à partir de FormCollection. Voir http://stackoverflow.com/questions/317225/asp-net-mvc-form-post –

Questions connexes