RoleGroup — различия между версиями
Lan  (обсуждение | вклад)  | 
				Lan  (обсуждение | вклад)   | 
				||
| (не показаны 3 промежуточные версии этого же участника) | |||
| Строка 3: | Строка 3: | ||
Группа ролей (role group) — поименованная совокупность [[role|ролей]], которую можно назначить разом какому-либо элементу (например, [[Operation|операции]] или [[Query|представлению]]). При использовании в списке ролей группы необходимо перед её именем поместить символ '@'. Группы ролей позволяют кастомизировать права доступа для [[Module|модулей]]: вы можете определить в модуле группу и задать ей набор ролей по умолчанию (обычно пустой), а в проекте приложения переопределить эту группу, задав другие роли. Поэтому рекомендуется использовать в модулях только группы ролей.  | Группа ролей (role group) — поименованная совокупность [[role|ролей]], которую можно назначить разом какому-либо элементу (например, [[Operation|операции]] или [[Query|представлению]]). При использовании в списке ролей группы необходимо перед её именем поместить символ '@'. Группы ролей позволяют кастомизировать права доступа для [[Module|модулей]]: вы можете определить в модуле группу и задать ей набор ролей по умолчанию (обычно пустой), а в проекте приложения переопределить эту группу, задав другие роли. Поэтому рекомендуется использовать в модулях только группы ролей.  | ||
| − | + | Одна группа может включать другую группу. Циклическое включение не приведёт к ошибкам и какому-либо эффекту.  | |
| − | + | Для удобства существуют также предопределённые группы: <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: []