在 Rails 上将用户从 Joomla 迁移到 Ruby + 设计并保留密码

Migrate users from Joomla to Ruby On Rails + Devise and keep passwords

我用 Joomla 开发了一个网站,但它的发展如此之快,以至于我要疯狂地尝试添加新功能。 这就是为什么我想在 rails 上重做 ruby 中的所有内容。 但我现在主要关心的是如何将所有用户转移到新的 rails 应用程序并让他们保留密码。我希望迁移尽可能顺利,并且我想避免要求用户更改密码。 有人对如何实现这一目标有任何想法吗?

Joomla 1.x 和 2.x

我没有任何代码给你,但你可以采用以下策略:

在您的用户 table 中,添加一列以指示密码的哈希机制。因此,所有迁移的用户都将拥有 joomla,而新用户将默认为 devise。然后,每当用户尝试登录时,您将查询用户名并使用数据库中指示的任何散列机制散列他们的密码。如果您想最终将它们全部迁移,那么在成功登录后,您可以使用新的哈希机制(由 Devise 实现的)重新哈希他们输入的密码,并在数据库中更新他们的密码哈希和哈希机制。

Joomla 3.x

从另一个问题判断:Joomla 3.2.1 password encryption,Joomla 3.x 使用使用 bcrypt 的 phpass。这是个好消息,因为 devise 还使用 bcrypt 来加密密码!我会验证你的 Joomla tables 中的密码是否使用 bcrypt 加密,然后迁移将是将密码逐字复制给设计用户 table.

的简单任务