我正在设置一个 Moodle 环境,我需要用户能够使用其凭据通过外部站点登录that地点。理想情况下,他们会访问该网站,登录,然后单击一个按钮,将他们及其帐户信息发送到 Moodle。
一旦他们到达 Moodle,Moodle 将检查帐户信息是否已存在。如果是,它将登录,否则它将创建帐户并登录。
我已经设置了 Moodle 环境以及登录站点。 Moodle 站点不允许访问登录站点上的数据库,并且用户不必在任何时候再次输入其信息。
我已经花了几个小时尝试从一个插件向后工作,该插件在 Moodle 和社交网站(facebook、twitter、google+ 等)之间完成类似的事情,但没有取得任何进展,以及从一个将 Moodle 与 Joomla 链接的插件,我已经在这里和其他论坛中搜索了任何我能找到的与我需要完成的任务类似的内容,但都无济于事。任何帮助将不胜感激。
编辑:我忘了提及 Moodle 版本是 2.5.4
编辑:以下将创建一个新用户,并将数据发布到“login/index.php”页面。目前这还非常不完整,并且在生产服务器上实施可能很危险。更新版本将在我继续工作时发布,非常欢迎提出建议。
global $CFG, $DB;
require_once($CFG->dirroot.'/user/profile/lib.php');
require_once($CFG->libdir.'/authlib.php');
$newuser = $DB->get_record('user', array('id'=>'1'));
$newuser->auth = 'manual';
$newuser->username = $frm->username;
$newuser->password = hash_internal_user_password($frm->password);
$newuser->username = $DB->insert_record('user', $newuser);
/// Save any custom profile field information
profile_save_data($newuser);
$newuser = $DB->get_record('user', array('id'=>$newuser->username));
events_trigger('user_created', $newuser);
使用外部数据库身份验证可能是最容易设置的,特别是如果两个系统位于同一服务器上。
转到站点管理 > 插件 > 身份验证 > 管理插件 -> 单击外部数据库旁边的取消隐藏按钮
然后单击设置并添加数据库的连接详细信息、外部表的名称(如果数据来自多个表,则创建一个视图)并添加字段映射。
http://docs.moodle.org/26/en/External_database_authentication http://docs.moodle.org/26/en/External_database_authentication
或者,我会使用带有 LDAP 的 SimpleSAML 插件 - 假设您有一个 LDAP 服务器 - 需要大约一天的时间来设置和搞乱设置。
https://moodle.org/plugins/view.php?plugin=auth_saml https://moodle.org/plugins/view.php?plugin=auth_saml
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)