Перейти к содержанию

Права доступа

Права доступа управляются на двух уровнях: ролями в security.yml и матрицей разрешений в /admin/new/roles_rules.

Роли (security.yml)

  • Определяют базовые права (например, ROLE_OPERATOR может открывать /admin/order).
  • Наследуются: ROLE_SUPER_ADMIN включает все остальные.
  • Изменения требуют деплоя (обновления конфигурации).

Правила (roles_rules)

  • Позволяют ограничивать конкретные действия внутри модулей (просмотр/редактирование/удаление).
  • Хранятся в базе, можно править без перезапуска.
  • Поддерживают привязку к станциям и городам (например, менеджер видит только свой филиал).

Проверка

  • В коде используется @Security и is_granted для проверки прав.
  • Для отладки включите профайлер — он покажет, какие роли у пользователя и почему отказано.
  • Регулярно проводите аудит прав, чтобы избежать избыточного доступа.