RoleGroup

Материал из DevelopmenOnTheEdge
Перейти к: навигация, поиск
Класс
RoleGroup
Поддерживает документацию
нет
Поддерживает extras
нет


Группа ролей (role group) — поименованная совокупность ролей, которую можно назначить разом какому-либо элементу (например, операции или представлению). При использовании в списке ролей группы необходимо перед её именем поместить символ '@'. Группы ролей позволяют кастомизировать права доступа для модулей: вы можете определить в модуле группу и задать ей набор ролей по умолчанию (обычно пустой), а в проекте приложения переопределить эту группу, задав другие роли. Поэтому рекомендуется использовать в модулях только группы ролей.

Одна группа может включать другую группу. Циклическое включение не приведёт к ошибкам и какому-либо эффекту.

Для удобства существуют также предопределённые группы: @AllRoles (все доступные роли проекта) и @AllRolesExceptGuest (все роли кроме роли Guest).

Группы ролей по умолчанию сериализуются в файл security.yaml, в секцию groups. В дереве проекта они хранятся в папке Security/Role groups.

Пример задания группы ролей в yaml:

security:
  groups:
    PortalReadOnlyRoles: '@AllRolesExceptGuest'
    UtilityDispatcherRoles: Dispatcher
    SocRegReadWriteRoles:
    - Operator
    - Reception
    UtilityAddressManagerRoles: []