【问题标题】:Migrate users from Joomla to Ruby On Rails + Devise and keep passwords将用户从 Joomla 迁移到 Ruby On Rails + 设计并保留密码
【发布时间】:2015-11-05 22:03:26
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails devise joomla3.0


    【解决方案1】:

    Joomla 1.x 和 2.x

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

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

    Joomla 3.x

    从另一个问题来看:Joomla 3.2.1 password encryption,Joomla 3.x 使用使用 bcrypt 的 phpass。这是个好消息,因为 devise 还使用 bcrypt 来加密密码!我将验证您的 Joomla 表中的密码是否已使用 bcrypt 加密,然后迁移就是将密码逐字复制到设计用户表的简单任务。

    【讨论】:

    • 那里有一些好主意。在我的项目中绝对有用。仍然需要知道如何在设计中使用 Joomla 的加密,但这是一个我没有想到的好主意。
    • @user2344682 我做了更多的研究并更新了我的答案。看看 Joomla 3.x 方法,您很有可能不需要做任何特殊的迁移。
    • 听起来不错!我得试试看!
    • 我确实试过了,但是表中的密码完全不同。第一种方法看起来是唯一可能的解决方案
    猜你喜欢
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2015-04-09
    • 2012-10-18
    • 1970-01-01
    相关资源
    最近更新 更多