Понимание статусов, ролей и прав пользователей

:bookmark: Это руководство по пониманию различных статусов, ролей и разрешений пользователей в Discourse, включая то, как они влияют на возможности пользователей и как хранятся в базе данных.

:person_raising_hand: Требуемый уровень доступа: Администратор

В 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.

:spiral_notepad: Этот статус доступен только в самохостинговых установках.

  • Просмотр rack-mini-profiler с отображением времени на странице.
  • Выступление от имени любой учетной записи, включая администраторов.
  • Автоматически становится администратором и имеет все права администратора.

Хранение: управляется через глобальную настройку developer_emails или таблицу developers; в Docker-установках используйте переменную окружения DISCOURSE_DEVELOPER_EMAILS, чтобы указать список адресов электронной почты пользователей, которые являются разработчиками.

Дополнительные ресурсы

Для более подробного описания конкретных полномочий, предоставляемых модераторам категорий, см. Trust Level Permissions Reference.

90 лайков
Modifying Staff Roles to go beyond Administrator and Moderator?
List of full moderation tools?
Deactivating users permanently
Improving Blocked User State
Which setting(s) would prevent Discourse from emailing an old user?
View Forum as User X
What permissions can admins give moderators?
How i can manage roles for moderators and administrators?
Levels and Staff roles
A new trust level: The Helpful member?
Discourse User Roles difference
Understading groups in discourse
How to disable mail for staged users?
Suspend all users apart from admin users for development copy
Who is able to change profile of another user
How do I block a user?
How does discourse count users?
A single number for users ranking (reputation like)?
Allow moderators to create groups
What is a staged user?
Discourse User Features
How to activate users after a large import of mbox archives
Disable DM visibility from Admins
Understanding Discourse Trust Levels
What are "staged users"?
Improving Blocked User State
Trying to understand "staff" slots and moderation in hosted plans
Promoting a User to Admin or Moderator Status
Moderators vs Staff
Adding users to the developers table
Error adding a backup email address: address already in use by a staged user
Trying to understand "staff" slots and moderation in hosted plans
Create staged users via API?
Admin ability to impersonate other admin differs between admins
My Wiki of useful Meta (and other) links
TOC missing after using browsers back button
Proposed: allow moderators to silence, not delete users flagged by akismet
Incorrect account stats
How to reply to staged user through discourse?
Daily Summary (9pm UTC)
Does the 'Posted' field in the user card include topics in private categories?
Users who are 'activated' but not 'approved'
Why are system and super admin both mod and admin?
Why are system and super admin both mod and admin?
Additional admins & moderators / staff users on pricing page
Unlisted option on creation of a new topic
Improving Blocked User State
Are banned members supposed to receive email notifications?
What is a staff user on hosted Discourse?
Limit the daily number of posts from a user
Major slowdown for staff in large topics
For how long a new user is considered "new user"?
How to invite someone to answer a question?
Auto-remove accounts when SSO ID is not longer valid
Best strategy for member who wants to "pause"? Suspend may not be it
How might we better structure #howto?
Send email to non registered user in a group
Difference between “member” and “staff user”
Send email to non registered user in a group
New pending application generates staff notification
Change user registration date (created_at) via API
Please update 'Understanding Discourse Trust Levels' — or is there a different doc?
When you started your first Discourse community, what did you find hard to do?
Can I enforce Slow Mode on a per-user basis or limit their comments?
Understanding Discourse Trust Levels
Watch topic using email address without requiring registration
Can T4 members access personally identifiable information?
How to get an API key