如何从 Moodle 中发送 Session ID 参数?
How to send Session ID parameter out FROM Moodle?
我需要将用户特定的值发送到外部系统来自 Moodle。我如何强制 Moodle 将会话 ID(或用户 ID、activity ID 等)发送到该第三方系统?那里的所有文章似乎都是为了调用 into Moodle 而写的,但这不是我需要做的。
重要:
我无法更改 Moodle 安装。解决方案必须只涉及编辑内容。这意味着我无法编写新插件或更改任何 Moodle 源代码。
编辑:
我确实可以从单独的外部 API 直接访问 Moodle 数据库。目标是使用此连接来验证传入参数。但是,我仍然需要能够构造一个参数化的 URL 来调用外部应用程序。然后,该应用程序将能够根据数据库验证提供的值。如果会话 ID 不可用,那么我需要通过参数化 URL.
发送有关页面、用户、模块等的值
session id
是指当前用户会话吗? $_SESSION['USER']->sesskey
中存储了一个会话密钥,但它不是真正有用的数据。它在用户注销时过期。
$_SESSION
是服务器端,因此您需要使用 PHP 出于安全原因不允许在内容中使用的代码。
您可以访问数据库吗?您可以从那里提取用户 ID 和 activity ID。否则,您将需要使用 API 或插件。
编辑:有一个 URL activity 可以用来向外发送数据。但这需要用户单击 link.
数据包括用户和课程 ID。
https://docs.moodle.org/311/en/URL_resource_settings
我想不出有什么解决方案可以在不编写一些 PHP 代码或添加插件的情况下向外部发送数据。
您可以通过站点管理 > 外观 > 附加 HTML 将 javascript 添加到每个页面,但没有 PHP.
会话变量不可用
我需要将用户特定的值发送到外部系统来自 Moodle。我如何强制 Moodle 将会话 ID(或用户 ID、activity ID 等)发送到该第三方系统?那里的所有文章似乎都是为了调用 into Moodle 而写的,但这不是我需要做的。
重要: 我无法更改 Moodle 安装。解决方案必须只涉及编辑内容。这意味着我无法编写新插件或更改任何 Moodle 源代码。
编辑:
我确实可以从单独的外部 API 直接访问 Moodle 数据库。目标是使用此连接来验证传入参数。但是,我仍然需要能够构造一个参数化的 URL 来调用外部应用程序。然后,该应用程序将能够根据数据库验证提供的值。如果会话 ID 不可用,那么我需要通过参数化 URL.
session id
是指当前用户会话吗? $_SESSION['USER']->sesskey
中存储了一个会话密钥,但它不是真正有用的数据。它在用户注销时过期。
$_SESSION
是服务器端,因此您需要使用 PHP 出于安全原因不允许在内容中使用的代码。
您可以访问数据库吗?您可以从那里提取用户 ID 和 activity ID。否则,您将需要使用 API 或插件。
编辑:有一个 URL activity 可以用来向外发送数据。但这需要用户单击 link.
数据包括用户和课程 ID。
https://docs.moodle.org/311/en/URL_resource_settings
我想不出有什么解决方案可以在不编写一些 PHP 代码或添加插件的情况下向外部发送数据。
您可以通过站点管理 > 外观 > 附加 HTML 将 javascript 添加到每个页面,但没有 PHP.
会话变量不可用