感谢 @pfaffman
我进行了一些测试,可以确认它在 Drupal 7 上无法工作,根据 Drupal 7: Secure password storage by default at last | Jon Cave 的信息,Drupal 7 似乎使用的是 SHA-512。
如果我能添加一个兼容的版本,我会创建一个 PR。
Rich
感谢 @pfaffman
我进行了一些测试,可以确认它在 Drupal 7 上无法工作,根据 Drupal 7: Secure password storage by default at last | Jon Cave 的信息,Drupal 7 似乎使用的是 SHA-512。
如果我能添加一个兼容的版本,我会创建一个 PR。
Rich
你好 ![]()
我从 bbPress 迁移了大量内容到我的 Discourse 安装中。我可以看到所有的帖子、用户等信息。但是,我的用户无法使用来自我 WordPress 站点的“旧”密码数据登录。我安装了该插件,它已列在我的管理区域的插件部分。我勾选了所有可用的复选框。
尽管如此:仍然没有人能够登录!
另外,我也不知道该如何应用插件 readme 中提供的代码:
user = User.find_by(username: 'user')
user.custom_fields['import_pass'] = '5f4dcc3b5aa765d61d8327deb882cf99'
user.save
此外,我也不清楚 readme 中提到的“替代密码哈希”具体是什么意思。
@michaeld,你能提供更多关于如何使用该插件的指导吗?
据我所知,bbPress 导入器支持该插件,因此您已经完成了所有必要的步骤,无需再做其他操作。
天哪,经过更多测试后,发现它其实已经能正常工作了。问题出在我测试时密码被修改了
抱歉!感谢这个超棒的插件!它让我的生活轻松多了!
你好,我在尝试实现这个功能时遇到了问题。我创建了一个自定义字段 import_pass 并安装了插件。再次在我的 SMF 数据库上运行导入脚本,但毫无成效,之后所有人都无法登录。在自定义字段中,我只能看到一个“-”,而不是某个哈希值。
正如其他用户之前指出的那样,我不确定该如何处理这段代码:
user = User.find_by(username: 'user')
user.custom_fields['import_pass'] = '5f4dcc3b5aa765d61d8327deb882cf99'
user.save
非常感谢您的指导。这段代码是应该放入 smf2.rb 导入脚本文件中,还是另有安排?
这样行不通。不过,在导入过程中无需安装插件,也无需手动创建自定义字段。SMF2 脚本应该已经处理好了。所以问题出在其他地方。
这段代码是作为脚本作者的示例存在的。它已经在 SMF2 脚本中了。
谢谢,太好了。您的意思是,如果我删除手动创建的自定义字段,仅保持插件处于激活状态,那么它应该能自动运行,并在需要时获取密码哈希值。
是否有日志可供我们查看,以了解插件为何未按预期工作?
为什么插件没有按预期工作?
该插件负责解释和使用导入器设置的自定义字段。如果自定义字段为空或不存在,那么问题不在于插件,而在于导入器。
插件应该在迁移之前还是之后安装?还是说这没有任何影响?
TL;DR:之后。
您应该在实际运行已迁移论坛的实例上安装该插件。
我们曾发现,如果将插件安装在实际运行迁移脚本的实例上,会导致问题,因此我们不建议在此处安装。
你好,
有人测试过 Auth0 的密码哈希吗?
我无法直接进行测试,因为他们的密码哈希导出功能是一项付费客户服务。我只是想确认一下,在我自己尝试之前,是否有人已经尝试过这种方式。
看起来他们的密码是使用 bcrypt 进行哈希处理的,盐轮数为 10。
谢谢。
我进行了一些测试,可以确认它不适用于 Drupal 7,根据 Drupal 7: Secure password storage by default at last | Jon Cave ,Drupal 7 据称默认使用 SHA-512。
如果我能够添加一个兼容的版本,我会创建一个 PR。
你好,关于 Drupal 7 的支持,有没有什么变化?
糟糕,这是一个我错过的两年前的问题!
有人用 Auth0 的密码哈希测试过吗?
bcrypt 应该支持任意轮数,只要轮数以通常方式编码($2a$10$...)
关于 Drupal 7 的支持有什么变化吗?
没有,这段代码三年多没有动过了。
我们几年前使用 migratepassword 插件将论坛迁移到了 Discourse。有没有办法检查有多少用户仍在使用旧论坛遗留的密码哈希?
有没有办法检查有多少用户仍在使用我们旧论坛的遗留密码哈希?
从技术上讲,用户并没有“使用”遗留密码哈希。
当用户在迁移后首次登录,且输入的密码与 Discourse 密码(初始时为随机字符串)不匹配时,插件便会开始工作。
import_pass 自定义字段,使用其已知的所有哈希方法。import_pass 自定义字段。因此,几年之后,只有那些从未使用迁移后的密码登录的用户,其账户中仍会保留 import_pass 自定义字段。
a) 他们从未登录过(你可以通过最后访问时间查看)
b) 他们未使用迁移后的密码,而是通过邮箱、其他认证方式登录,或者他们已重置了密码
我刚刚意识到情况 b 可能会引入安全隐患。如果用户不记得密码并进行了修改,或者使用了其他认证方式,迁移后的密码哈希仍会保留,并且可以与新密码同时使用。我刚刚已推送了插件更新,确保在每次成功登录时清除 import_pass 自定义字段。
因此,今后 import_pass 自定义字段将仅存在于从未登录过的用户账户中。