Пользователи
Последнее обновление not available | История страницы | Улучшить эту страницу | Сообщить о проблеме
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
Budget
$204 per month—let's make that $500!
Learn moreЧто такое пользователь?¶
Пользователь (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. | |
| 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();
Смотрите также¶
- Пользователи
- Группы пользователей
- Группы ресурсов
- Роли
- Политики
- Уроки по безопасности
- Усиление защиты MODX Revolution
- Устранение проблем безопасности
- Расширение 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
Budget
$204 per month—let's make that $500!
Learn more










