我正在构建一个涉及Moodle Service(版本3.6)用法的laravel Web应用程序。我已经使用plugin自动登录了。
问题是,单击外部应用程序上的“学习课程”按钮将自动登录Moodle(通过插件),但不会将用户重定向到该按钮中描述的课程。
有这样做的机制吗?
最佳答案
您正在使用的插件已经可以执行以下操作:
请参见user_login_userkey()
方法here
/**
* Logs a user in using userkey and redirects after.
*
*/
public function user_login_userkey() {
$keyvalue = required_param('key', PARAM_ALPHANUM);
$wantsurl = optional_param('wantsurl', '', PARAM_URL);
if (!empty($wantsurl)) {
$redirecturl = $wantsurl;
} else {
$redirecturl = $CFG->wwwroot;
}
if (isloggedin()) {
$this->redirect($redirecturl);
}
因此,您只需要传递具有课程URL的
wantsurl
参数,登录后它将自动将您重定向到课程。