6

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

谢谢

4

1 回答 1

10

我通过覆盖 fosUserBundle 重置控制器解决了这个问题。说明可以在这里找到

我用这些行强制生成一个新的令牌:

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

我能够通过一个简单的 SQL 查询生成盐值。

UPDATE fos_user set salt = SUBSTRING(MD5(RAND()) FROM 1 FOR 31) WHERE salt IS NULL
于 2013-05-29T20:26:52.850 回答