我的任务是编写一个相对较小且简单的 PHP Web 应用程序,它将使用一个小型数据库。对此的身份验证将通过查询字符串中随机生成的十六进制密钥进行,这些密钥由管理页面生成并通过电子邮件发送给所需的用户。
到目前为止一切都很好,但这里有一个问题:
由于各种政治原因,我们被迫将此应用程序制作为 Moodle 模块。我可以在 MySQL 中使用 Moodle 数据库,但我将使用我自己的不与 Moodle 交互的表,并且 Moodle 不会与我的表交互。我还必须使用 Moodle 数据库抽象而不是直接 PHP-> MySQL 访问。
我不希望我的用户知道他们在 Moodle 中操作。他们不应该需要登录 Moodle 来访问我的网络应用程序,而且他们可能无论如何都无法访问 Moodle。那些有权访问 Moodle 的用户不应该在他们的 Moodle 功能列表中看到这个网络应用程序。
我整理了一些小的 PHP 页面,包括了一些 Moodle 库,并将代码放在了 moodle/mods 目录中。使用 URL 直接访问服务器上的 PHP 页面会导致 Moodle 错误,因为我没有通过适当的渠道访问该模块。我收到“检测到不正确的访问”错误。
我的任务是可能做的吗?如果是这样,实现它的最佳方法是什么?我需要编写一个身份验证模块,然后是一个活动模块吗?有什么方法可以绕过 Moodle 的所有身份验证,只需使用数据库抽象而不编辑核心 Moodle 配置文件?(我知道可以通过修改 Moodle 代码,但遗憾的是这不是一个选项)。
我有丰富的 PHP 经验,但我只有大约 4 小时的 Moodle 经验,而且我的速度也很慢。