Права доступа
Права доступа управляются на двух уровнях: ролями в security.yml и матрицей разрешений в /admin/new/roles_rules.
Роли (security.yml)
- Определяют базовые права (например,
ROLE_OPERATORможет открывать/admin/order). - Наследуются:
ROLE_SUPER_ADMINвключает все остальные. - Изменения требуют деплоя (обновления конфигурации).
Правила (roles_rules)
- Позволяют ограничивать конкретные действия внутри модулей (просмотр/редактирование/удаление).
- Хранятся в базе, можно править без перезапуска.
- Поддерживают привязку к станциям и городам (например, менеджер видит только свой филиал).
Проверка
- В коде используется
@Securityиis_grantedдля проверки прав. - Для отладки включите профайлер — он покажет, какие роли у пользователя и почему отказано.
- Регулярно проводите аудит прав, чтобы избежать избыточного доступа.