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