0

Mein Szenario ist ich eine asp.net 2.0-Anwendung Web-Anwendung, die die AspNetSqlMembershipProvider Eigenschaften hatte wie:AspNetSqlMembershipProvider und Passwordkontrolle

enablePasswordRetrieval = "false" und password = "Gehashte"

Aber jetzt ist die Notwendigkeit entstanden, Benutzerkennwörter unverschlüsselt als Klartext zu speichern und sie Superusern anzuzeigen. Ich habe dies getan, indem sie die AspNetSqlMembershipProvider Eigenschaften ändern zu:

enablePasswordRetrieval = "true" und password = "Clear"

Das Problem ist die Art, wie die Password Steuerung verhält. Von dem, was ich gelesen habe, überprüft es die Eigenschaften des AspNetSqlMembershipProvider-Tags, wenn enablePasswordRetrieval = "true" und passwortFormat = "Clear" versuchen, das Passwort zu erhalten, das ein Problem verursacht, wenn das Passwort tatsächlich noch als Hash gespeichert wird. Gibt es eine Möglichkeit, das PasswordRecovery-Steuerelement zum Zurücksetzen zu zwingen, das Kennwort nicht abzurufen, wenn die AspNetSqlMembershipProvider-Eigenschaften enablePasswordRetrieval = "true" und passwortFormat = "Clear" sind?

Entschuldigung für die langatmige Erklärung, alle Hilfe/Hinweise sehr geschätzt wie immer. Vielen Dank.

Antwort

0

Ich glaube nicht, dass Sie Glück haben werden, wenn Sie versuchen, zwei Methoden zum Speichern von Passwörtern in der Datenbank zu verwenden.

Mein Rat ist, die Kennwörter auf den Konten, die Kennwörter gehashed haben, zu ändern, damit sie als einfacher Text gespeichert werden und von dort fortfahren.

Alternativ, wenn Sie müssen einige Hash-und einige Klartext-Passwörter speichern, müssen Sie auf die Erweiterung der Mitgliedschaft Anbieter, um dies zu unterstützen suchen. Nach meiner Erfahrung ist dies oft mehr Mühe als es wert ist.

0

Von dem, was ich erlebt habe, ist das Ändern von Passwortformaten problematisch - ich glaube nicht, dass es einen Weg gibt, den Provider automatisch damit für Sie umgehen zu lassen.

Sie könnten in Betracht ziehen, die Hash-Benutzer zu zwingen, ihre Kennwörter bei der nächsten Anmeldung zu ändern oder einfach einen Prozess zu schreiben, der ihre Kennwörter in der Datenbank durchläuft und zurücksetzt. Es gibt eine Spalte in der Passwort-Tabelle (ich kann jetzt nicht sehen), die das Format beschreibt, so dass Sie diesen Wert von Hash zu clear ändern können und dann der Hash-Wert wäre ihr Klartext-Passwort und sollte funktionieren Anmeldung.

0

Denken Sie auch daran, dass das Speichern von Kennwörtern im Klartext rechtliche Konsequenzen hat. Wenn diese Passwörter missbraucht oder durchgesickert werden, sind Sie für alle Daten verantwortlich, die kompromittiert sind (einschließlich Daten, auf die über andere Dienste zugegriffen wird, die Sie selbst verwenden, aber der Benutzer dasselbe Passwort verwendet).