ASP.NET Identité, exiger "fort" de mots de passe
Peut-être mon googlin les compétences ne sont pas si grand ce matin, mais je n'arrive pas à trouver comment mettre en place les différentes exigences de mot de passe (plutôt que de min/max longueur) avec un nouveau asp.net mvc5 projet à l'aide de comptes d'utilisateur individuels.
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
Je ne sais pas ce mot de passe que je veux faire, mais probablement une combinaison de min longueur et nécessitant une minuscule, sur le capital de la lettre, et un certain nombre.
Une idée de comment je peux faire cela (via les attributs de modèle de préférence)?
- Allez-vous utiliser MembershipProvider? En l'utilisant, vous pouvez définir PasswordStrengthRegularExpression de la propriété à définir votre mot de passe, les règles de force - msdn.microsoft.com/en-us/library/...
- Je suis en utilisant le nouveau fournisseur d'Identité. À moins que je me trompe, je ne crois pas que cela va fonctionner. Je n'ai pas l'admission dans mon web.config
- Réfléchissez bien à ce sujet. J'utilise un jeu de mots de passe et c'est vraiment gênant quand celui que je veux est rejetée par un site, car il ne correspond pas à leurs règles, même si c'est en fait un mot de passe fort. J'ai maintenant une liste de mots de passe par écrit, ce qui n'est pas ce que les gens ont été, après j'espère...
- Je suis complètement d'accord. Je suis à essayer de comprendre comment le faire, mais pour l'application que je vais tenter de convaincre mon client de ne pas définir de restrictions autres que min caractères. Je déteste les sites qui me font utiliser bizarre les mots de passe qui sont à l'extérieur de ma liste habituelle. (en vous regardant, diverses sociétés de cartes de crédit)
- 🙂 Montrer ceci: xkcd.com/936 - c'est vrai!
- Déjà fait! Elle semble assez intelligent, donc je pense que je vais être en mesure d'éviter Tr0ub4dor&3 comme les mots de passe.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le RegularExpressionAttribute, ainsi que les règles de cette réponse:
Regex pour valider force du mot de passe
Vous pouvez configurer les exigences de mot de passe dans
App_Start\IdentityConfig.cs
public static ApplicationUserManager Create(...)
dans App_Start\IdentityConfig.cs seulement à trouver (vraiment) plus tard cette Q et de réaliser les StringLength paramètre de Mot de passe de la propriété de l'Identité.Modèles.RegisterViewModel chevauche le RequiredLength mentionné ci-dessus, donc à moins que j'ai changer le réglage dans les deux endroits, il n'y a pas d'impact. J'aurais été coincé si c'était pour la combinaison de ces questions et de votre UnUne autre option est de créer une mise en œuvre de
IIdentityValidator<string>
et de l'affecter à laPasswordValidator
propriété de votreUserManager
. Il n'a qu'une méthode,ValidateAsync
et vous pouvez définir n'importe quelle sorte de validation du mot de passe que vous aimez là.. je sais que ce n'est pas quelques-uns des avantages de l'utilisation des attributs dans le modèle de classe comme la mesure automatique de la validation côté client, mais juste pensé que je voudrais vous dire ce qu'un autre pour n'importe qui qui vient le long.par exemple