Php 在Moodle中自动对用户进行身份验证

Php 在Moodle中自动对用户进行身份验证,php,api,authentication,moodle,Php,Api,Authentication,Moodle,我试图在Moodle中自动验证用户,但在Moodle 3.8.3中使用authenticate_user_登录时遇到问题。 我已测试了以下代码,但出现以下错误: 异常-传递给core\session\manager::login_user()的参数1必须是stdClass的一个实例,给定布尔值,在第4632行的[dirroot]/lib/moodlelib.php中调用 谢谢你的帮助 <?php require('config.php'); $name="myusername"; $pas

我试图在Moodle中自动验证用户,但在Moodle 3.8.3中使用authenticate_user_登录时遇到问题。 我已测试了以下代码,但出现以下错误:

异常-传递给core\session\manager::login_user()的参数1必须是stdClass的一个实例,给定布尔值,在第4632行的[dirroot]/lib/moodlelib.php中调用

谢谢你的帮助

<?php
require('config.php');
$name="myusername";
$password="mypassword";
$dashboard = $CFG->wwwroot;
$user = authenticate_user_login($name, $password);
if(complete_user_login($user))
{
echo "login";
}
else
{
   echo "not login";
}



?>

如果传递给
authenticate\u user
$password
值与用户的实际密码不匹配,我会在Moodle SSO工作期间看到此消息。在这种情况下,
$user
返回false,然后将其传递给
complete\u user\u login
,并最终传递给
login\u user
,从而触发错误。更新密码以匹配后,所有操作都按预期进行


如果
authenticate\u user\u login
中不存在
$name
或任何其他返回false的内容,则会猜测相同的结果,虽然没有机会测试其他场景。

如果传递给
authenticate\u user
$password
值与用户的实际密码不匹配,我会在Moodle SSO工作期间看到此消息。在这种情况下,
$user
返回false,然后将其传递给
complete\u user\u login
,并最终传递给
login\u user
,从而触发错误。更新密码以匹配后,所有操作都按预期进行


如果
$name
不存在,或者
authenticate\u user\u login
返回false的任何其他内容,但没有机会测试其他场景,则会出现相同的结果。

嗨,Matty,当调用authenticate\u user\u login时,它会返回什么?检查您是否得到一个对象或错误。嗨,Matty,当调用authenticate\u user\u login时,它会返回什么?检查您是否得到一个对象或错误。