0011 — Административный dashboard и ручная активация¶
- Дата: 2026-08-21.
- Статус: Принято; дополняет решения 0009 и 0010.
- Ответственный: владелец проекта.
Контекст¶
Обычному пользователю требуется личный кабинет, а платформенным администраторам — отдельный dashboard. Владелец проекта определил начальные разделы dashboard для управления администраторами и пользователями и разрешил super_admin вручную подтверждать пользователя без перехода по ссылке из email.
Решение¶
Разделение интерфейсов¶
/settingsостаётся личным кабинетом текущего пользователя./adminявляется отдельным dashboard для платформенных ролейsuper_adminиplatform_admin.- Состав меню и доступные действия внутри
/adminформируются по эффективным правам роли. - Административный dashboard расширяется постепенно вместе с появлением подтверждённых функций проекта.
Раздел «Администраторы»¶
super_adminвидит в меню/adminотдельный раздел «Администраторы».- Раздел представляет пользователей с платформенной ролью
platform_admin, а не отдельную дублирующую таблицу учётных записей. super_adminможет назначить и отозватьplatform_admin, изменить его email и статус, сменить ему пароль, деактивировать и удалить из интерфейса.- Логином администратора остаётся email; отдельный username пока не вводится.
- Текущий пароль никогда не отображается. Действие «Сменить пароль» задаёт новый пароль, отзывает прежние сессии и не раскрывает старый пароль или password hash.
- «Удалить администратора» означает деактивировать и архивировать запись. Необратимое физическое удаление требует отдельного решения о retention и аудите.
- Защита
super_admin, принятая решением 0010, сохраняется:platform_adminне может изменить, деактивировать, удалить или переназначитьsuper_admin.
Раздел «Пользователи»¶
super_adminвидит в меню/adminотдельный раздел «Пользователи».- В начальном составе
super_adminможет изменить email и доступные поля пользователя, активировать, деактивировать и удалить пользователя из интерфейса. - «Удалить пользователя» означает деактивировать и архивировать запись с сохранением обязательного аудита; hard delete пока не разрешён.
- Деактивация немедленно блокирует новый вход и защищённые API-действия и отзывает активные сессии.
super_adminможет вручную подтвердить пользователя без перехода по ссылке из email отдельным действием «Подтвердить без email».
Ручное подтверждение без email¶
- Действие доступно только
super_admin;platform_adminне получает это право автоматически. - Ручное подтверждение считается исключением из обычного email-verification flow решения 0009.
- До ручного подтверждения организация и membership самостоятельной регистрации не создаются. После действия пользователь получает статус подтверждённого и проходит тот же
/onboarding/organization, что после обычного подтверждения email; tenant-контекст создаётся только после отправки формы по решению 0024. - Система сохраняет способ подтверждения
super_admin_manual, идентификатор инициатора, время и обязательную причину; событие записывается в аудит. - Интерфейс предупреждает, что владение email фактически не проверено.
- Ручное подтверждение не должно незаметно отправлять письмо или добавлять дополнительные персональные данные.
Последствия¶
- Для identity-модели требуется различать
email_verified_atи способ подтверждения email. - Все изменения email, ролей, статусов и паролей выполняются только через серверные команды с проверкой роли и аудитом.
- Смена email не должна автоматически считаться подтверждённой, кроме отдельного явного ручного действия
super_admin. - Архивированный пользователь или администратор не может войти, но его идентификатор сохраняется для ссылочной целостности и аудита.
- Новые административные разделы не добавляются автоматически: вместе с каждой функцией фиксируются разрешённые роли и операции.
- Backend, таблицы и реальные административные действия этим решением не реализуются до действующего product gate.
Отложенные вопросы¶
- Может ли
platform_adminназначать и удалять другихplatform_admin; текущее правило полного доступа решения 0010 это допускает, но отдельная иерархия ещё не подтверждена. - Точный UX смены пароля администратором: новый временный пароль или одноразовая ссылка после выбора email-провайдера.
- Уведомления пользователю об административной смене email, пароля, статуса или способа подтверждения.
- Retention и условия физического удаления архивированных пользователей.
- Фильтры, поиск, пагинация, массовые операции и экспорт в административных разделах.
- Следующие сущности и виджеты административного dashboard.
Откат или замена¶
Отмена ручного подтверждения без email или изменение круга ролей, которым оно доступно, требует нового решения. Появление новых разделов dashboard оформляется расширением матрицы прав и не меняет автоматически существующие роли.