Конструктор ролей

Назначение

Определяет механизм распределения прав пользователей при работе с рядом приложений Docsvision на основе данных самой карточки.

Класс карточки

DocsVision.BackOffice.ObjectModel.RoleModel

Для работы с карточкой предназначен сервис IRoleModelService, с помощью которого можно получить доступ к сохранённым правилам и свойствам ролевой модели, а также создавать и управлять объектами данного уровня безопасности.

Доступные операции:
  • Создание условий и групп условий для ролей.

  • Создание пользовательских параметров и операций.

  • Связывание настроек в сопоставление операция-состояние.

  • Создание и получение настроек ролевой модели для вида карточки.

  • Получение ролей для вида карточки.

В примере создаётся роль, которая может быть использована для ограничения времени доступа к документам в выходные дни.

IRoleModelService roleModelService = objectContext.GetService<IRoleModelService>(); (1)

KindsCardKind kindsCardKind = objectContext.GetObject<KindsCardKind>(new Guid("8ACE1220-A452-455D-8EEB-9EDF9DC6E327")); (2)

RoleModelCardKindRoleSetting roleModelCardKindRoleSetting = roleModelService.GetOrCreatePreferredCardKindSetting(kindsCardKind); (3)
RoleModelRole roleModelRole = roleModelService.CreateRole(roleModelCardKindRoleSetting);
roleModelRole.Name = "Работа по выходным";

roleModelRole.ConditionGroup.Operation = RoleModelRoleConditionGroupOperation.Or; (4)

RoleModelRoleCondition condition = roleModelService.AddCondition(roleModelRole.ConditionGroup); (5)
condition.Parameter = RoleModelRoleConditionParameter.Today;
condition.Operation = RoleModelRoleConditionOperation.Equals;
condition.Value = System.DayOfWeek.Saturday;

condition = roleModelService.AddCondition(roleModelRole.ConditionGroup); (6)
condition.Parameter = RoleModelRoleConditionParameter.Today;
condition.Operation = RoleModelRoleConditionOperation.Equals;
condition.Value = System.DayOfWeek.Sunday;

objectContext.AcceptChanges(); (7)

roleModelService.MakeRoleCommon(roleModelRole); (8)
1 Инициализация контекста объектов и получение сервиса.
2 Получение вида карточки "Документ".
3 Создание настроек для вида карточки.
4 Логическая операция между условиями — ИЛИ.
5 Создание первого условия: сегодня = суббота.
6 Создание второго условия: сегодня = воскресенье.
7 Сохранение изменений.
Роль не создаёт реального ограничения, для настройки используется матрица доступа (недоступная для карточки "Документ", доступная для "ДокументУД").