Comment puis-je définir les règles de mot de passe de l'Identité dans ASP.NET 5 MVC 6 (vNext)?
La valeur par défaut du fournisseur d'Identité fournies dans ASP.NET 5 a de très strictes règles de mot de passe par défaut, nécessitant une minuscule, un caractère majuscule, un caractère non-alphanumérique, et un certain nombre. Je suis à la recherche d'un moyen de changer le mot de passe requis pour le fournisseur.
Précédemment dans ASP.NET 4, le fournisseur d'accès peut être configuré via le Web.config fichier XML, comme déjà répondu. Cependant ASP.NET 5 utilise le nouveau code de configuration basée sur le motif et il est difficile de savoir comment configurer l'identité.
Comment puis-je changer le mot de passe pour mon application?
- Si vous souhaitez plonger dans les exigences de mot de passe (et vous devriez), le NIST (un conseil des normes) vient de sortir avec le nouveau mot de passe des lignes directrices. Voir un résumé de l'article ici: passwordping.com/surprising-new-password-guidelines-nist Et le plein NIST Standard de publication ici. Reportez-vous à la section 5.1.1.2: pages.nist.gov/800-63-3/sp800-63b.html#sec3
Vous devez vous connecter pour publier un commentaire.
Fait, j'ai fini essayant de se faire, il s'avère que vous devez fournir AddDefaultIdentity convient avec une expression lambda qui configure le IdentityOptions qu'il fournit. Ceci est fait à l'intérieur de la ConfigureServices la méthode dans le Démarrage de classe, comme suit:
Mise à jour 2:
Ci-dessus a été vrai dans la beta1 versions de l'infrastructure, dans le dernier
rc1beta5 il a été légèrement modifié pour:config.json
fichier?services.Configure<PasswordOptions>(options =>
modèle... Peut-être dans la RC2? J'ai juste essayé de l'utiliser, de façon flagrante l'ignore.Si vous avez mis en place un nouveau projet Web avec
Individual User Accounts
aller à:Là, vous pouvez modifier les valeurs par défaut suivantes:
en démarrage.cs:
Ce que je voulais faire était de personnaliser le mot de passe de la règle de sorte qu'il devrait contenir des caractères de au moins 2 des groupes suivants: les majuscules, les minuscules, de chiffres et de symboles spéciaux.
Ce n'est pas quelque chose que je pouvais le faire en changeant juste PasswordValidator options:
Donc, au lieu de cela, j'ai créé un validateur personnalisé par l'extension de IIdentityValidator...
Tout d'abord, créez un nouveau fichier CustomPasswordValidator.cs dans votre dossier Extensions:
Ensuite, allez à IdentityConfig.cs, et l'initialiser dans la méthode Create: