我在具有两个不同域的两个不同服务器上运行两个不同站点。一个站点正在运行 Joomla,另一个站点正在运行 Moodle。我已将 Moodle 服务器配置为基于 Joomla 站点上的用户表进行身份验证,因此我们拥有用户信息的权威来源。
我想做的是:在有人登录 Joomla 站点后,提供一个指向 Moodle 站点的链接,该站点将静默登录,有点假装单点登录解决方案。Joomla 中的密码是 MD5 的,每个都有自己的秘密盐。
如何解决这个问题的第一个想法是告诉 Moodle 密码是以纯文本形式存储的,然后通过隐藏的表单输入,在他们点击链接时发送加密的密码。除了明显的安全问题外,这还意味着如果他们尝试通过 Moodle 界面登录,他们需要输入一个巨大的 MD5 字符串,因为这就是 Moodle 认为他们的密码。
我一直在考虑更改 Moodle 中的身份验证模块,以便如果提交的密码符合某些标准(例如:它是 32 个十六进制字符),那么在与 Joomla 版本进行比较之前不要对其进行 MD5 处理——问题是任何人都可以(在发现加密密码后)然后使用它登录。我需要一些特殊的方式将加密密码从 Joomla 发送到 Moodle,并向 Moodle 发出信号以区别对待该登录请求。
有什么想法吗?