Это руководство по пониманию различных статусов, ролей и разрешений пользователей в Discourse, включая то, как они влияют на возможности пользователей и как хранятся в базе данных.
Требуемый уровень доступа: Администратор
В Discourse есть множество встроенных статусов, ролей и разрешений пользователей.
Эти статусы и роли можно увидеть для конкретного пользователя, просматривая его профиль в разделе пользователей на панели администратора:
Статусы разрешений
Активирован
Учетная запись имеет подтвержденный адрес электронной почты и, следовательно, активна в экземпляре Discourse.
- Учетная запись может войти в систему; неактивные учетные записи не могут войти.
- Неактивные учетные записи могут только подтвердить адрес электронной почты (и другие маршруты по мере необходимости для завершения регистрации).
Хранение: булевый столбец active в таблице users
Staged (Временная)
Особая временная учетная запись, автоматически создаваемая системой для интеграции по электронной почте.
- Письма-дайджесты никогда не отправляются.
- Автоматически отслеживает все сообщения, в которых участвует, и получает уведомления о ответах.
- Может отвечать на уведомления по электронной почте.
- Имя пользователя и имя выбираются автоматически.
- Пользователь все еще может зарегистрироваться с тем же адресом электронной почты и «принять» временную учетную запись.
- Не может получать письма для сброса пароля.
Хранение: поле staged в таблице users
Администратор
Пользователи-администраторы являются суперпользователями в системе, они могут:
- Выступать от имени не-администраторов (имперсонация).
- Изменять настройки сайта.
- Создавать группы.
- Вносить изменения в кастомизацию сайта.
- Выполнять все действия, которые могут выполнять модераторы.
- Читать любые личные сообщения.
- Создавать, удалять и изменять категории.
- Игнорировать разрешения категорий для просмотра частных категорий.
Хранение: булево поле admin в таблице users помечает учетные записи администраторов.
Модератор
Мощный пользователь, способный модерировать сайт:
- Иконка щита рядом с именем в постах.
- Может выполнять все действия, которые могут выполнять сотрудники (Staff).
Хранение: булево поле moderator в таблице users
Staff (Сотрудник)
Пользователь-сотрудник — это любой пользователь, который является администратором или модератором (или обоими сразу).
- Не подчиняется ограничениям частоты (rate limits).
- Может обрабатывать флаги и посты, находящиеся в очереди модерации.
- Может удалять темы и посты, разделять темы, объединять темы, скрывать темы и т. д.
- Может просматривать информацию о пользователях (кроме адресов электронной почты для модераторов).
- Может приостанавливать, замалчивать, анонимизировать и удалять пользователей.
- Может изменять уровень доверия пользователя.
Хранение: вычисляется на основе столбцов admin и moderator в таблице users
Модератор категории
Это не-сотрудник, который является частью группы, наделенной определенными полномочиями модерации для конкретных категорий. Это можно включить для каждого сайта с помощью настройки администратора enable category group moderation, и настроить для каждой категории на вкладке «Настройки» в инструментах категории:
Уровень доверия 0 - 4
См.: Что делают уровни доверия пользователей?
Хранение: числовое поле trust_level в таблице users
Приостановлен
Учетная запись приостановлена в экземпляре Discourse.
- На странице пользователя отображается заметка с указанием причины приостановки.
- Вход в систему не разрешен.
- Учетную запись могут упоминать только сотрудники.
- Пользователю не отправляются никакие письма с уведомлениями (дайджесты, сообщения и т. д.).
- В качестве исключения, любые письма, инициированные сотрудниками, все же отправляются пользователю.
Хранение: столбец даты и времени suspended_till в таблице users
Замалчен
Либо вручную сотрудниками, либо когда учетная запись была помечена системой спам-фильтрации как проблемная, все возможности публикации отключаются.
- Учетная запись не может отвечать ни в одной теме.
- Учетная запись не может создавать темы.
- Учетная запись не может создавать личные сообщения (ЛС), но может отвечать на ЛС.
- Учетная запись не может создавать флаги.
- Учетная запись все еще может ставить «лайки» и добавлять в закладки.
- Учетная запись все еще может изменять настройки пользователя и раздел «О себе» (пока неясно, является ли это хорошей идеей).
- Режим рассылки по электронной почте перестает работать.
Хранение: столбец даты и времени silenced_till в таблице users
Другие статусы
Пользователи могут иметь несколько дополнительных статусов, которые не отображаются в разделе разрешений на панели администратора.
Новый пользователь
Особая ограниченная учетная запись для первого дня использования или новых учетных записей. Для new_users (новых пользователей) установлены особые ограничения частоты, определенные в настройках сайта.
- Учетная запись с уровнем доверия 1, созданная в последние 24 часа, или уровень доверия 0.
- Не-сотрудник.
Ограничения:
- Может создавать пост только один раз в 30 секунд (rate_limit_new_user_create_post).
Хранение: вычисляется на основе столбцов created_at, moderator, admin и trust_level в таблице users
Пользователь первого дня
Особые дополнительные ограничения, применяемые к пользователю в течение 24 часов после его первого поста.
- Еще не публиковал пост, или первый пост был создан менее 24 часов назад.
- Не-сотрудник.
- Уровень доверия ниже 2.
Ограничения:
- Может создать только 10 ответов (max_replies_in_first_day).
- Может создать только 3 темы (max_topics_in_first_day).
Хранение: вычисляется на основе first_post_created_at в таблице user_stats, а также столбцов moderator, admin и trust_level в таблице users
Утвержден
Если включена настройка сайта must_approve_users, пользователь должен быть approved (утвержден) перед тем, как ему будет разрешен вход в систему.
Хранение: булевый столбец approved в таблице users
Разработчик
Особая учетная запись, используемая для установки Discourse.
Этот статус доступен только в самохостинговых установках.
- Просмотр rack-mini-profiler с отображением времени на странице.
- Выступление от имени любой учетной записи, включая администраторов.
- Автоматически становится администратором и имеет все права администратора.
Хранение: управляется через глобальную настройку developer_emails или таблицу developers; в Docker-установках используйте переменную окружения DISCOURSE_DEVELOPER_EMAILS, чтобы указать список адресов электронной почты пользователей, которые являются разработчиками.
Дополнительные ресурсы
Для более подробного описания конкретных полномочий, предоставляемых модераторам категорий, см. Trust Level Permissions Reference.

