Участники и учётные записи¶
Forum Pro использует собственную систему учётных записей. Участники регистрируются, подтверждают электронную почту и сбрасывают пароль полностью внутри форума, и их учётные записи не затрагивают файлы пользователей Grav. При этом существующие учётные записи Grav распознаются автоматически, поэтому один вход действует на всём сайте.
Собственные учётные записи форума¶
При auth.enabled: true (значение по умолчанию) форум обслуживает регистрацию, вход, подтверждение, сброс пароля и настройки по зарезервированным маршрутам.
auth:
enabled: true
allow_registration: true
require_email_verification: true
min_password_length: 8
captcha: false
Как защищены учётные записи¶
- Пароли хешируются с помощью встроенного bcrypt PHP.
- Сессии используют HttpOnly-cookie
forum_sessionсо скользящим сроком действия — 30 дней при включённом запоминании. - Ссылки подтверждения и сброса пароля одноразовые и хранятся в виде хеша, поэтому утечка базы данных не даёт рабочих ссылок.
- Эти ссылки привязаны к доверенному хосту в
security.site_url, что предотвращает подмену ссылки сброса через поддельный заголовокHost. - Регистрация, вход и сброс пароля ограничены по частоте для каждого IP-адреса.
Отключение регистрации¶
Установите auth.allow_registration: false, чтобы закрыть регистрацию, оставив существующим участникам возможность входить и писать. Это отличается от режима обслуживания, который запрещает писать всем.
Учётные записи Grav¶
Если этот параметр включён, авторизованный пользователь Grav считается участником форума. При первом посещении для него создаётся связанная учётная запись форума с тем же именем пользователя и отображаемым именем. Поэтому ваши администраторы и модераторы уже присутствуют на форуме, а их статус сотрудников распознаётся — никому не нужно создавать вторую учётную запись.
Установите false, чтобы полностью закрыть вход через Grav на форум. Это подходит, если учётные записи Grav предназначены строго для сотрудников сайта и вы хотите, чтобы они участвовали в форуме под отдельными учётными записями.
Участники помечаются native или grav на вкладке Members в админке, поэтому всегда видно, откуда пришла учётная запись.
Профили¶
Публичный профиль доступен по адресу {forum}/u/<username> и показывает:
- Аватар, отображаемое имя, ранг и значки групп
- Дату регистрации, число сообщений, число тем и репутацию
- Значки за достижения
- Последние сообщения
- Кнопки Отправить сообщение и Заблокировать для авторизованных посетителей
- Действие Снять блокировку для сотрудников, если участник заблокирован
Необязательные поля профиля (сайт, ссылки на соцсети, подпись, звание) показываются, когда заполнены, и скрываются, пока учётная запись является временной.
Аватары¶
Участники загружают, меняют и удаляют свой аватар в {forum}/settings. Участнику без аватара назначается буквенный аватар с цветом, детерминированно вычисленным из имени пользователя, поэтому все участники визуально различимы с первого дня, а списки тем не выглядят пустыми.
Аватары хранятся в том же контентно-адресуемом хранилище blob-объектов, что и вложения, поэтому вместе со всем остальным переезжают на S3 или R2 и могут отдаваться через CDN.
Ранги¶
Автоматические ранги¶
Участники поднимаются по настраиваемой лестнице рангов по мере публикации сообщений. Ранги отображаются рядом с именем участника в сообщениях, списке и профиле.
Собственные ранги¶
Сотрудники могут выдать выбранное звание в Admin → Forum → Members → Edit. У собственного ранга есть название и значок (кубок, корона, медаль, звезда и другие), и он заменяет автоматический ранг для этого участника. Так отмечают основателя, спонсора или давнего автора.
Значки¶
Значки выдаются автоматически за достижения фоновым процессом, а также могут быть выданы или отозваны сотрудниками. Они отображаются компактными значками рядом с именем участника и показывают название при наведении, поэтому колонка автора остаётся аккуратной; полный список есть в профиле.
Собственные значки, импортированные из Discourse, переносятся без изменений, поэтому история наград сохраняется при миграции.
Группы¶
У групп участников (Core Team, Moderators и любых других, нужных сообществу) есть цвет и значок. Они отображаются полосой значков под именем участника в сообщениях, списках тем и профилях.
Группы управляются в Admin → Forum → Groups. Они нужны для оформления и организации. Права модерации выдаются отдельно на вкладке Moderators, поэтому группа «Core Team» может быть видимой, но не все её участники обязаны быть модераторами, и наоборот.
Звания¶
Звание участника — это свободный текст под именем участника, который можно изменить в админке. Звания из Discourse импортируются.
Список участников¶
{forum}/members перечисляет всех участников с рангом, числом сообщений, сайтом, датой регистрации и датой последней активности, а также кнопкой Отправить сообщение. Список поддерживает поиск и сортировку, разбивается на страницы по frontend.members_per_page (по умолчанию 48) и показывает счётчик «кто онлайн» на основе frontend.online_window_minutes.
Панель инструментов участника¶
Авторизованные участники видят постоянную панель над каждой страницей форума:
- Поиск
- Быстрые ссылки на новые сообщения, без ответа, метки, участников, непрочитанное, мои темы и закладки
- Колокольчик уведомлений с актуальным числом непрочитанных
- Конверт с актуальным числом непрочитанных личных сообщений
- Меню аватара с переходом к профилю, уведомлениям, сообщениям, закладкам, своим темам и настройкам
Настройки участника¶
В {forum}/settings участник управляет своей учётной записью: отображаемым именем, аватаром, необязательными полями профиля, паролем, настройками уведомлений по электронной почте (см. Уведомления и электронную почту) и удалением учётной записи.
Самостоятельное удаление (удаление по GDPR)¶
Участник запрашивает удаление на странице настроек. Запрос подтверждается двойным подтверждением по электронной почте, после чего начинается период ожидания. Повторный вход отменяет удаление, что защищает тех, кто передумал или действовал сгоряча.
Установите deletion_grace_days: 0, чтобы удалять сразу после подтверждения. О том, что именно удаляется, см. Конфиденциальность и хранение.
Объявления¶
Сотрудники могут публиковать объявления: закрываемые баннеры, которые появляются над каждой страницей форума для участников и гостей. У каждого объявления есть текст Markdown, необязательный срок действия, цветовой вариант и значок. Используйте их для уведомлений о работах, правил сообщества или приглашения в новый подфорум.