Wie steuere ich das Format MembershipUser.ResetPassword ()
-
06-07-2019 - |
Frage
Ist es möglich, das Format des Passworts zu steuern, die automatisch durch einen Aufruf MembershipUser.ResetPassword erzeugt wird ()?
Ich möchte in der Lage sein, zu ermöglichen oder nicht zulassen, dass bestimmte Sonderzeichen in dem erzeugten Kennwort ein.
Ich bin mit dem SqlMembershipProvider mit einem Passwort-Format von Hash.
Danke.
Lösung
Haben Sie einen Blick auf diesen Artikel - Ändern der automatisch generierte Passwort-Format im SqlMembershipProvider .
kam ich mit einem schnellen Weg, um die SqlMembershipProvider zu hacken weniger komplexen Passwörter zu generieren, und es war so einfach wie eine neue Provider-Klasse erstellen, die von SqlMembershipProvider erbt, dann das Überschreiben die Gen Methode.
Dies ist keine Lösung vollständig gelöst, aber es könnte helfen.
Andere Tipps
Sie möchten kann dies in zwei Schritten tun, von Mark Fitzpatrick identifiziert wie hier: http://bytes.com/groups/net-asp/689452-how-reset-users-password-without-having-use-passwordrecovery#post2740740
Sie zuerst das Passwort zurücksetzen, dann ist es sofort zu einem Format von Ihrem Geschmack anpassen. Offensichtlich mit einer festen Zeichenkette wie in Mark Beispiel würde nicht empfohlen werden - würden Sie implementieren möchten einige zufällige Zeichenfolge Generator .
user.ChangePassword(user.ResetPassword(), MyMethodToGenerateRandomPassword());
Heute können Sie auch die Membership.GeneratePassword
Methode verwenden und ein MinRequiredPasswordLength
or die Eigenschaft bereits in Web.config wie folgt definiert verwenden übergeben:
var newPassword =
// 0 = Number of non alphanumeric characters
Membership.GeneratePassword(Membership.MinRequiredPasswordLength, 0);
user.ChangePassword(user.ResetPassword(), newPassword);
Ich hatte gehofft, dass es einige Konfigurationseinstellung könnte verwenden, aber das Überschreiben der Gene () Methode funktioniert für meine Situation.
Wir hatten bereits eine Krypto-Utility-Klasse, die die zufälligen Passwort-Strings erzeugen würde, so dass es ein ziemlich schneller Wechsel.