2013-05-28 3 views
6

Ich wiederbelebe eine Website, die seit ein paar Jahren ausgefallen ist, und ich migriere alles auf Symfony2. Ich konnte alle meine alten Benutzerdatenbankeinträge in die Tabelle fos_user bringen. Das einzige Problem ist, dass die Einträge "salt" und "confirmation_token" leer sind, weil die Benutzer nicht wie üblich erstellt wurden. Ich möchte, dass alle Benutzer ihre Kennwörter zurücksetzen, also mache ich mir keine Gedanken über die alten Hash-Kennwörter. Wie kann ich die Einträge für 13.000 Benutzer gleichzeitig generieren? Vielleicht muss ich den Controller überschreiben, um das Salz und Confirmation_Token jedes Mal zu erstellen, wenn ein Passwort angefordert wird? Gibt es dafür bereits Methoden? Es scheint, als hätte jemand anderes dieses Problem schon einmal gehabt.Wie kann ich salt und confirmation_token Einträge für migrierte Benutzer mit FOSUserBundle generieren

Dank

Antwort

9

Ich löste dies durch die fosUserBundle Zurücksetzen Controller überschrieben. Instructions can be found here.

ich gezwungen Erzeugung eines neuen Toke mit diesen Zeilen:

$tokenGenerator = $this->container->get('fos_user.util.token_generator'); 
$user->setConfirmationToken($tokenGenerator->generateToken()); 

ich in der Lage war, den Salz-Wert mit einer einfachen SQL-Abfrage zu generieren.

UPDATE fos_user set salt = SUBSTRING(MD5(RAND()) FROM 1 FOR 31) WHERE salt IS NULL 
+1

Ihr Link ist tot. Könnten Sie es bitte aktualisieren? Vielen Dank! :) – Alec

+0

Anweisungen sind jetzt hier: http://symfony.com/doc/current/bundles/FOSUserBundle/overriding_controllers.html – rooter

Verwandte Themen