如何为使用FOSUserBundle的迁移用户生成salt和confirmation_token条目

时间:2013-05-28 04:31:13

标签: mysql symfony fosuserbundle

我正在复活已关闭了几年的网站,我正在将所有内容迁移到Symfony2。我能够将所有旧的用户数据库条目放入fos_user表中。唯一的问题是salt和confirmation_token条目是空的,因为用户不是以标准方式创建的。我希望所有用户重置密码,所以我根本不担心旧的哈希密码。如何一次为13,000个用户生成条目?也许我需要覆盖控制器以在每次请求密码时创建salt和confirmation_token?这方法已经存在吗?似乎其他人以前会遇到这个问题。

由于

1 个答案:

答案 0 :(得分:10)

我通过覆盖fosUserBundle重置控制器解决了这个问题。 Instructions can be found here

我用这些线强迫生成一个新的toke:

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

我能够使用简单的SQL查询生成salt值。

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