与旧的moodle平台的用户建立新的moodle平台

问题描述 投票:0回答:2

我建立了一个Moodle平台,该内容应与在另一台服务器上运行的旧Moodle平台的内容相同。旧平台为1.9版,新平台为3.8.3版。我想保留旧平台上的相同用户,但是我注意到,当我在两个平台上使用相同的密码创建用户时,用户表中密码的哈希值是不同的。

重要的是,我尝试使用具有相同密码但数据(用户名,电子邮件等)不同的用户。我认为两个版本都使用MD5哈希作为密码。两个用户的表具有完全相同的字段。

是否可以在保持兼容性的同时将用户从旧平台的数据库复制到新平台的数据库? (这意味着,用户可以使用其旧凭据登录该新平台)如果是,我应该考虑什么?

php moodle password-encryption backwards-compatibility
2个回答
1
投票

Moodle由于不安全,多年来未使用MD5哈希作为密码。 Moodle使用PHP函数password_hash()-在撰写本文时,它使用bcrypt,但可能会随着PHP的未来版本而改变。

Moodle 应该能够检测到密码正在使用旧的,不安全的哈希算法,并在该用户下次登录时(在根据旧哈希对它们进行身份验证之后)自动更新哈希密码。在此处查看代码:https://github.com/moodle/moodle/blob/bbb7dfc62ea295099ad23e8a83497269c19ddcd1/lib/moodlelib.php#L4824

当然,最好的选择是设置Moodle 3.8网站的测试副本,从Moodle 1.9网站的现有帐户之一中复制用户记录(您知道密码)并尝试一下出来。

请注意,这不会传输任何自定义配置文件字段,任何用户首选项或任何用户交互(例如论坛帖子,作业提交等)之类的数据。>>


1
投票

您是否考虑过升级数据库?升级路径为

© www.soinside.com 2019 - 2024. All rights reserved.