Jump to main content Jump to doc navigation

Что такое пользователь?

Пользователь (User) в MODX Revolution это учётная запись для входа.

Пользователей можно включать в группы пользователей. К группам подключают ACL, которые задают контроль доступа.

Настройки пользователя

Настройки пользователя (User Settings) в MODX Revolution автоматически перекрывают системные и контекстные настройки с тем же ключом для этого пользователя. Они могут быть и полностью уникальными. Порядок наследования настроек:

System Settings -> Context Settings -> User Settings

Чтобы править настройки пользователя, откройте Security -> Manage Users -> Update User (правый клик) -> Settings (вкладка)

Пользовательские настройки доступны только после создания пользователя. Вкладки "Settings" нет, пока вы только создаёте пользователя.

Пользователи на front-end

Когда пользователь вошёл на front-end сайта, его username и ID доступны через такие Properties:

[[+modx.user.id]] - Prints the ID
[[+modx.user.username]] - Prints the username

Если пользователь не вошёл, ID будет пустым, а Username будет "(anonymous)".

Начиная с MODX 2.4.0, имя пользователя по умолчанию задаётся в System Settings настройкой default_username.

Помните Важный нюанс: вход в manager не означает вход на web front-end. Пользовательские настройки и API-метод getOption подчиняются тому же правилу. Если вы не вошли на front-end, цепочка System Settings -> Context Settings -> User Settings применяется не полностью.

Поля пользователя

У пользователя есть такие поля:

Name Description
id ID пользователя.
username Имя пользователя.
password Зашифрованный пароль.
active 1 или 0. Если не active, пользователь не сможет войти.
remote_key Удалённый ключ пользователя для приложений удалённой аутентификации.
remote_data JSON-массив данных для приложений удалённой аутентификации.

К пользователю также привязан Profile со следующими полями:

Name Description
internalKey ID пользователя.
fullname Полное имя.
email Email.
phone Телефон.
mobilephone Мобильный телефон.
fax Факс.
blocked 1 или 0. Если blocked = true, пользователь не сможет войти.
blockeduntil Timestamp: до этой даты вход запрещён.
blockedafter Timestamp: после этой даты вход запрещён.
logincount Число входов пользователя.
lastlogin Время последнего входа.
thislogin Время входа в текущей сессии.
failedlogincount Число неудачных попыток входа с момента последнего успешного входа.
sessionid ID сессии пользователя, связанный с таблицей сессий.
dob Дата рождения.
gender 0 - не указано, 1 - мужской, 2 - женский.
address Физический адрес.
country Страна.
city Город.
zip Почтовый индекс.
state Штат или область.
photo Необязательное поле для фото. В UI не используется.
comment Необязательный комментарий о пользователе.
website Сайт пользователя.
extended JSON-массив для дополнительных полей пользователя.

Получение пользователя через API

Текущего пользователя в API даёт ссылка $modx->user. Например, этот сниппет выводит username:

return $modx->user->get('username');

Чтобы взять поля Profile, сначала получите объект modUserProfile через алиас Profile. Например, этот сниппет возвращает email:

$profile = $modx->user->getOne('Profile');
return $profile ? $profile->get('email') : '';

Если пользователь не вошёл, $modx->user всё равно доступен как объект, но вернёт 0 как ID и (Anonymous) как username.

Работа с extended-полями

Значения в поле extended приходят как массив. С ними можно работать так:

/* get the extended field named "color": */
$fields = $profile->get('extended');
$color = $fields['color'];
/* set the color field to red */
$fields = $profile->get('extended');
$fields['color'] = 'red';
$profile->set('extended',$fields);
$profile->save();

Смотрите также

  1. Пользователи
  2. Группы пользователей
  3. Группы ресурсов
  4. Роли
  5. Политики
    1. Разрешения
      1. Разрешения - политика Administrator
      2. Разрешения - политика Resource
    2. ACL
    3. PolicyTemplates
  6. Уроки по безопасности
    1. Доступ пользователя к менеджеру
    2. Страницы только для участников
    3. Второй пользователь Super Admin
    4. Ограничение Element для пользователей
    5. Подробнее о группе Anonymous
  7. Усиление защиты MODX Revolution
  8. Устранение проблем безопасности
    1. Ручной сброс пароля пользователя
  9. Расширение modUser

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
  • deJaya
  • JT Skaggs
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

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

Learn more