RoleGroup — различия между версиями
Lan  (обсуждение | вклад)  | 
				Lan  (обсуждение | вклад)   | 
				||
| (не показаны 2 промежуточные версии этого же участника) | |||
| Строка 7: | Строка 7: | ||
Для удобства существуют также предопределённые группы: <code>@AllRoles</code> (все доступные роли проекта) и <code>@AllRolesExceptGuest</code> (все роли кроме роли Guest).  | Для удобства существуют также предопределённые группы: <code>@AllRoles</code> (все доступные роли проекта) и <code>@AllRolesExceptGuest</code> (все роли кроме роли Guest).  | ||
| − | + | Группы ролей по умолчанию сериализуются в файл security.yaml, в секцию groups. В дереве [[Project|проекта]] они хранятся в папке Security/Role groups.  | |
| + | |||
| + | Пример задания группы ролей в [[yaml]]:  | ||
| + | |||
| + |  security:  | ||
| + |    groups:  | ||
| + |      PortalReadOnlyRoles: '@AllRolesExceptGuest'  | ||
| + |      UtilityDispatcherRoles: Dispatcher  | ||
| + |      SocRegReadWriteRoles:  | ||
| + |      - Operator  | ||
| + |      - Reception  | ||
| + |      UtilityAddressManagerRoles: []  | ||
Текущая версия на 15:41, 19 сентября 2014
- Класс
 RoleGroup- Поддерживает документацию
 - нет
 - Поддерживает extras
 - нет
 
Группа ролей (role group) — поименованная совокупность ролей, которую можно назначить разом какому-либо элементу (например, операции или представлению). При использовании в списке ролей группы необходимо перед её именем поместить символ '@'. Группы ролей позволяют кастомизировать права доступа для модулей: вы можете определить в модуле группу и задать ей набор ролей по умолчанию (обычно пустой), а в проекте приложения переопределить эту группу, задав другие роли. Поэтому рекомендуется использовать в модулях только группы ролей.
Одна группа может включать другую группу. Циклическое включение не приведёт к ошибкам и какому-либо эффекту.
Для удобства существуют также предопределённые группы: @AllRoles (все доступные роли проекта) и @AllRolesExceptGuest (все роли кроме роли Guest).
Группы ролей по умолчанию сериализуются в файл security.yaml, в секцию groups. В дереве проекта они хранятся в папке Security/Role groups.
Пример задания группы ролей в yaml:
security:
  groups:
    PortalReadOnlyRoles: '@AllRolesExceptGuest'
    UtilityDispatcherRoles: Dispatcher
    SocRegReadWriteRoles:
    - Operator
    - Reception
    UtilityAddressManagerRoles: []