2013-05-28 13 views
6

Sto resuscitando un sito web che è inattivo da alcuni anni e sto migrando tutto a Symfony2. Sono stato in grado di ottenere tutte le mie vecchie voci del database utente nella tabella fos_user. L'unico problema è che le voci salt e confirmation_token sono vuote perché gli utenti non sono stati creati in modo standard. Voglio che tutti gli utenti reimpostino le loro password, quindi non sono affatto preoccupato per le vecchie password con hash. Come posso generare le voci per 13.000 utenti contemporaneamente? Forse ho bisogno di sovrascrivere il controller per creare il sale e conferma_token ogni volta che viene richiesta una password? Esistono già dei metodi per questo? Sembra che qualcun altro avrebbe avuto questo problema prima.Come posso generare voci salt e confirmation_token per gli utenti migrati con FOSUserBundle

Grazie

risposta

9

Ho risolto questo sovrascrivendo il controller fosUserBundle Ripristino. Instructions can be found here.

I costretto generazione di un nuovo toke con queste linee:

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

ho potuto generare i valori di sale con una semplice query SQL.

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

Il tuo link è morto. Potresti aggiornarlo per favore? Grazie! :) – Alec

+0

Le istruzioni sono ora disponibili: http://symfony.com/doc/current/bundles/FOSUserBundle/overriding_controllers.html – rooter

Problemi correlati