DefaultAccessRightsTypes – базовые типы прав
<< Click to Display Table of Contents >> Объектная модель > Действия с репозиториями и сущностями > AccessRights, AccessRightsTypes – права доступа DefaultAccessRightsTypes – базовые типы прав |
Для программной работы с базовыми типами прав используется репозиторий Sungero.Core.DefaultAccessRightsTypes.
Константы
Имя |
Описание |
---|---|
Approve |
Тип прав «Утверждение» |
Change |
Тип прав «Изменение» |
Create |
Тип прав «Создание» |
Forbidden |
Тип прав «Доступ запрещен» |
FullAccess |
Тип прав «Полный доступ» |
Read |
Тип прав «Просмотр» |
Для задания базовых типов прав на отчеты и задания есть свои репозитории DefaultReportAccessRightsTypes и AssignmentAccessRightsTypes:
Имя |
Описание |
---|---|
DefaultReportAccessRightsTypes.Execute |
Тип прав «Выполнение» для отчетов |
AssignmentAccessRightsTypes.Complete |
Тип прав «Выполнение задания» |
Пример 1. Выдача прав на чтение документа в событии «После сохранения» типа документа
// Выдать права на документ сотруднику, указанному в поле
// "Ответственный" (Responsible) карточки документа.
public override void AfterSave(Sungero.Domain.AfterSaveEventArgs e)
{
// Проверить, есть ли у сотрудника права на чтение документа.
if (!_obj.AccessRights.CanRead(_obj.Responsible))
// Если нет – выдать.
_obj.AccessRights.Grant(_obj.Responsible, DefaultAccessRightsTypes.Read);
}
Пример 2. Выдача прав ролям
/// <summary>
/// Назначить права на выполнение отчетов для роли "Делопроизводители".
/// </summary>
public static void GrantRightsToClerk()
{
InitializationLogger.Debug("Init: Grant rights on reports to clerks");
// Получить сотрудников, которые входят в роль "Делопроизводители".
var clerks = Docflow.PublicFunctions.DocumentRegister.Remote.GetClerks();
if (clerks == null)
return;
// Назначить права на отчеты модуля.
Reports.AccessRights.Grant(Reports.GetIncomingDocumentsReport().Info, clerks, DefaultReportAccessRightsTypes.Execute);
Reports.AccessRights.Grant(Reports.GetOutgoingDocumentsReport().Info, clerks, DefaultReportAccessRightsTypes.Execute);
Reports.AccessRights.Grant(Reports.GetInternalDocumentsReport().Info, clerks, DefaultReportAccessRightsTypes.Execute);
Reports.AccessRights.Grant(Reports.GetIncomingDocumentsProcessingReport().Info, clerks, DefaultReportAccessRightsTypes.Execute);
}
© Компания Directum, 2024 |