我设置了一个 Moodle 平台,它应该与在另一台服务器上运行的旧 Moodle 平台具有相同的内容。旧平台是1.9版本,新平台是3.8.3版本。我想保留来自旧平台的相同用户,但我注意到当我在两个平台上创建具有相同密码的用户时,用户表中密码的哈希值是不同的。重要的是要指出,我尝试过使用相同密码但不同数据(用户名、电子邮件等)的用户。我认为这两个版本的密码都使用 MD5 哈希。两个用户的表具有完全相同的字段。是否可以将用户从旧平台的数据库复制到新平台的数据库中,同时保持兼容性?(这意味着,用户能够使用他们的旧凭据登录这个新平台)如果是这样,我应该考虑什么?
2 回答
慕容708150
TA贡献1831条经验 获得超4个赞
由于不安全,Moodle 多年来一直没有对密码使用 MD5 哈希。Moodle 使用 PHP 函数password_hash() - 在撰写本文时使用 bcrypt,但这可能会随着 PHP 的未来版本而改变。
Moodle应该能够检测到密码使用的是旧的、不安全的散列算法,并在用户下次登录时自动更新散列密码(在对旧散列进行身份验证之后)。
当然,最好的办法是设置 Moodle 3.8 站点的测试副本,从 Moodle 1.9 站点(您知道其密码)的现有帐户之一复制用户记录并试用。
请注意,这不会传输任何自定义配置文件字段、任何用户首选项或任何用户交互(如论坛帖子、作业提交等)等数据。
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
您是否考虑过升级数据库?升级路径是
1.9.19+ > 2.2.11 > 2.7.20 > 3.2.9 > 3.8
或者您可以导入用户并强制用户更改密码。
站点管理员 > 用户 > 上传用户
- 2 回答
- 0 关注
- 126 浏览
添加回答
举报
0/150
提交
取消