如何将Joomla帐户移动到我的Rails应用程序?

时间:2012-04-01 12:59:34

标签: ruby-on-rails-3 devise joomla1.5

我有一个1.5 Joomla网站,我计划重新编写为Ruby On Rails网站。 有大约300个注册用户,是否有一种简单的方法来迁移我的用户帐户以设计基于宝石的帐户?

2 个答案:

答案 0 :(得分:3)

我知道这已经过时了,但是遇到了这个,后来又找到了答案,所以我会为其他人发帖。

joomla中的密码字段是密码的md5和随机生成的盐加上冒号和随机生成的盐。

它看起来像这样:

33da105d239879dae4cdaf58557985c:L8QwPXN02cltv0lkGIyD3JRDU0AR5fcA

所以回到它......

1)查询数据库的用户名(由用户发布)

user = User.find_by_username(params[:username])

2)然后拆分密码并获取数组中的第二个元素:

salt = user.password.split(":")[1]

3)获取密码(由用户发布),加上盐并检查数据库中的那个

user.password == Digest::MD5.hexdigest(params[:password] + salt).to_s + ":" + salt

如果您拥有正确的用户/通行证组合,那么它应该是真的......

答案 1 :(得分:1)

我通过这种方式进行类似的迁移:

  1. 使用旧密码哈希和salt的附加字段创建设计模型用户

  2. 将旧数据库中的所有用户复制到新数据库中(新密码哈希将为空,因为我们不知道实际用户的通行证)

  3. 补丁验证方法 - 当用户尝试使用帐号登录而没有新的传递散列(这意味着这是旧用户) - 我们通过旧的auth算法验证他,如果它通过,我们创建他的密码新传递哈希(使用设计)