如何登录Moodle 3.10?

问题描述 投票:0回答:1

我为 Moodle 3.10 编写了自己的身份验证插件。我只想在登录失败时添加日志。像这样的东西:

$log->info('User with username XYZ could not login.');

如何在 Moodle 中执行此操作?

我在 https://docs.moodle.org/310/en/Logs 检查了 Moodle 中的开发人员文档,但它只是说明了在哪里可以找到日志。不是如何添加日志

moodle moodle-api
1个回答
0
投票

Events API 在日志中创建一个条目

存在登录失败事件

$eventdata = ['other' =>
                ['username' => 'unknown',
                'reason' => AUTH_LOGIN_XXX]
             ];
$event = \core\event\user_login_failed::create($eventdata);
$event->trigger();

AUTH_LOGIN_XXX
替换为这些常数之一

/** Can not login because user does not exist. */
define('AUTH_LOGIN_NOUSER', 1);

/** Can not login because user is suspended. */
define('AUTH_LOGIN_SUSPENDED', 2);

/** Can not login, most probably password did not match. */
define('AUTH_LOGIN_FAILED', 3);

/** Can not login because user is locked out. */
define('AUTH_LOGIN_LOCKOUT', 4);

/** Can not login becauser user is not authorised. */
define('AUTH_LOGIN_UNAUTHORISED', 5);

或者您可以创建自己的活动,设置起来非常简单

https://docs.moodle.org/dev/Events_API

基本上,事件类存储在

/yourpluginname/classes/event/event_name.php

在现有的 Moodle 代码中搜索

extends \core\event\base
以获取示例

© www.soinside.com 2019 - 2024. All rights reserved.