Jump to main content Jump to doc navigation

Событие: OnManagerLogin

Событие запускается каждый раз, когда пользователь успешно входит в менеджер после успешного выполнения всех проверок аутентификации. Событие не влияет на процесс аутентификации.

  • Служба: 2 - Manager Access Events
  • Group: Security

Параметры события

Имя Описание
user Ссылка на объект modUser.
attributes Массив:
- rememberme — хочет ли пользователь запомнить вход
- lifetime — время жизни cookie сеанса для этого входа
- loginContext — ключ контекста для этого входа
- addContexts — дополнительные контексты, в которых тоже открыта сессия

Рабочий процесс входа в систему

  1. OnBeforeWebLogin || OnBeforeManagerLogin - Внутри этого события разработчик может проверить наличие ошибочных параметров, которые запретят дальнейший процесс входа. Если плагины, выполняемые этим событием, возвращают что-то, кроме true, вход в систему будет прерван с указанной ошибкой.
  2. OnUserNotFound - Это событие выполняется, только если указанное имя пользователя не найдено в базе данных MODX. Разработчик может передать в выводе события собственный объект modUser, чтобы продолжить процесс входа в систему.
  3. OnWebAuthentication || OnManagerAuthentication - Внутри этого события разработчик может проверить параметры, которые отменят проверку по умолчанию паролем и позволят продолжить процесс входа. Если один из плагинов, выполняемых этим событием, возвращает true, пользователь считается проверенным и вошедшим в систему.
  4. OnWebLogin || OnManagerLogin - Это событие вызывается после завершения процесса входа в систему; пользователь считается вошедшим в систему. Оно не меняет поведение процесса входа.

Пример

Такой плагин запишет в журнал ошибок, кто и куда вошел в систему:

<?php
$eventName = $modx->event->name;
switch($eventName) {
    case 'OnManagerLogin':
        $id = $user->get('id');
        $modx->log(modX::LOG_LEVEL_ERROR, 'Пользователь вошел в систему с id '.$id.' '.print_r($attributes, true));
        break;
}

Смотри также

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • JT Skaggs
  • deJaya
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$194 per month—let's make that $500!

Learn more