【问题标题】:moodle version 3.1 integration with amembermoodle 3.1 版与会员集成
【发布时间】:2017-07-28 12:43:15
【问题描述】:

在我们的系统中,我们希望将moodle插件(3.1版)与amember集成。我们在moodle中有一些用户的密码是加密格式的,我们希望将这些用户导入amember而不使用api更改用户密码。

谁能建议我们如何处理这个问题?

我正在使用以下代码在 amember 中创建用户。它成功在 amember 中创建用户,但是当我尝试登录时它被拒绝。

$url = 'http://YOURDOMAIN.COM/amember/api/users';

$fields = array(
'_key' => 'SECRETKEY',
'_format' => 'xml',
'login' => 'USERNAME',
'pass' => 'PASSWORD',
'email' => 'EMAIL',
'name_f' => 'FIRST NAME',
'name_l' => 'LAST NAME',
);
 //open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
 curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/x-  www-form-urlencoded"));

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);

提前致谢。

【问题讨论】:

    标签: php api moodle amember


    【解决方案1】:

    由于moodle中的密码是加密的,您将无法解密密码。当我阅读您的代码时,会员 api 在创建用户时将需要一个纯密码。

    我看到的唯一解决方法是在 moodle 中拥有自己的身份验证插件。一旦现有的 moodle 用户尝试登录,就会调用此插件。然后,您可以使用 user_login 方法来验证 moodle 数据库的密码。此外,在这个阶段你有明文密码,所以你可以创建一个新的会员用户,一旦登录成功

    【讨论】:

      【解决方案2】:

      您不需要使用 API 来导入用户。

      aMember 具有允许您从 CSV 文件导入用户的管理工具。 此工具允许您使用加密/散列密码导入用户。

      会员 CP -> 用户 -> 导入用户

      您可以将用户从您的 moodle 数据库导出到 CSV 文件。

      在导入之前,您需要在 aMember 中启用 moodle 集成插件。

      【讨论】:

        猜你喜欢
        • 2014-05-30
        • 2016-05-27
        • 1970-01-01
        • 1970-01-01
        • 2011-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多