Конструктор ролей
Назначение |
Определяет механизм распределения прав пользователей при работе с рядом приложений Docsvision на основе данных самой карточки. |
Класс карточки |
Для работы с карточкой предназначен сервис 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 | Сохранение изменений. |
Роль не создаёт реального ограничения, для настройки используется матрица доступа (недоступная для карточки "Документ", доступная для "ДокументУД"). |