Ich habe eine alte Datenbank von Benutzern, die Passwörter Hashes in einer Weise enthält, die ich nicht mag. Ich möchte für diese Hashes auf ein neues Hash-Formular (bcrypt) bei der Anmeldung aktualisiert werden.Wie Symfony Passwort-Check überschreiben, um in der Lage zu sein, gegen mehrere Arten von Hashes zu überprüfen
Ich verwende FOSUserBundle, um Benutzer und Elnur's bcrypt bundle als Sicherheits-Encoder zu verwalten. Gibt es eine einfache Art und Weise in den Passwort Prüfmechanismus zu stopfen, diese Art von Algorithmus hinzuzufügen:
if passwordHash is using old format
oldFormatHash := hash userGivenPassword in the old way
if oldFormatHash == passwordHash
login ok
update password in database with new hash format
else
login ko
else
use default
Ich dachte über die aktuellen Sicherheitscodierer erstreckt, aber die isPasswordValid
Methode nicht die ID des Kontos muss zu überprüfen (oder sein kanonischer Name), so dass der Aktualisierungsteil nicht verfügbar ist.