Роли и права системы

Полный обзор системы авторизации и прав доступа платформы СУДИ.РФ

Администраторы

1

Полный доступ

Менеджеры

16

Активных: 16

Юристы

1

Верифицированных

Всего пользователей

28

Чатов гостей: 1

🎭 Основные роли

Администратор

admin

Полный доступ ко всему функционалу системы

Возможности:

Управление всеми пользователями
Доступ к Filament админке
Создание и управление менеджерами
Все права на CRUD операции
$user->is_admin()

Менеджер

manager

Гранулярные права доступа к ресурсам

Возможности:

Доступ к Filament с ограничениями
Права на 11 типов ресурсов
Фильтрация по категориям
Флаг активности (is_active)
$user->is_manager()

Юрист

lawyer

Верифицированный профессионал с правом проверки

Возможности:

Проверка документов клиентов
Раздел /lawyer-reviews
Чаты с клиентами
Получение оплаты за работу
$user->isLawyer()

Пользователь

user

Авторизованный пользователь системы

Возможности:

Создание заказов
Личный кабинет
Общение в чатах
Настройки профиля
auth()->check()

Гость

guest

Неавторизованный пользователь с UUID

Возможности:

UUID идентификация (cookie)
Общение в чатах
Прикрепление файлов
Автомиграция при регистрации
GuestIdentifierService::isGuest()

📋 Сравнительная таблица прав

Действие Guest User Professional Lawyer Manager Admin
Писать в чаты
Создавать заказы
Стать юристом
Брать проверки
Доступ к Filament
Управление категориями
Управление менеджерами

🔐 Система менеджеров

Двухуровневая система прав

Права на ресурсы

4 типа прав для каждого ресурса:

  • can_view — просмотр списка
  • can_create — создание
  • can_edit — редактирование
  • can_delete — удаление

Доступ к категориям

Many-to-many связь с Category:

  • Таблица: manager_categories
  • Фильтрация данных по категориям
  • Кнопки "Выбрать все" / "Очистить"

Доступные ресурсы (11 шт.)

Документы

ServiceResource

Категории

CategoryResource

Ситуации

SituationResource

Заказы

OrderResource

Инстанции

InstanceResource

Типы инстанций

InstanceTypeResource

Тарифы госпошлин

DutyResource

Инструкции

InstructionResource

Настройки

SettingResource

Страницы

PageResource

Поля документа

FieldResource

💬 Роли в системе чатов

client

Клиент

Пользователь или гость, инициирующий чат

lawyer

Юрист

Верифицированный профессионал, проверяющий документы

support

Поддержка

Сотрудник службы поддержки

admin

Администратор

Администратор системы с полным доступом

👻 Система гостей

Идентификация

  • UUID формат:
    550e8400-e29b-41d4-a716-446655440000
  • Cookie: guest_chat_identifier
    Срок хранения: 1 год
  • Автоматическая миграция
    При регистрации все чаты привязываются к user_id

Возможности гостей

Писать в чаты (support, direct)
Получать сообщения в реальном времени
Прикреплять файлы к сообщениям
Видеть историю своих чатов
Создавать заказы
Доступ к документам

🗄️ Структура базы данных

users

  • • id
  • • name, email, phone
  • • role (default: 'user')
  • • password

managers

  • • id
  • • user_id (unique FK)
  • • is_active (boolean)

manager_permissions

  • • id, manager_id
  • • resource (string)
  • • can_view, can_create
  • • can_edit, can_delete

conversation_participants

  • • user_id (nullable)
  • • guest_identifier (UUID)
  • • guest_email, guest_phone
  • • role (enum)

📜 Policy классы

CategoryPolicy

Category

Просмотр: все, Управление: админ

ServicePolicy

Service

Просмотр: все, Управление: админ

OrderPolicy

Order

Детали: владелец/профессионал/юрист/админ

ProfessionalPolicy

Professional

Создание: все, Управление: админ

ManagerPolicy

Manager

Все операции: только админ

ReviewPolicy

Review

Все операции заблокированы

Документация актуальна на 13.10.2025 • Версия: 2.5 • 5 ролей6 Policy11 ресурсов