<< Click to Display Table of Contents >> Объектная модель > Действия с репозиториями и сущностями > AccessRights, AccessRightsTypes – права доступа > AccessRights – управление правами доступа CopyAsync – запустить процесс копирования прав доступа |
Метод используется для копирования прав доступа от указанного пользователя к другому пользователю. Метод доступен только в серверном коде.
По умолчанию в Directum RX уже настроено копирование прав доступа от закрытых сотрудников руководителю. Метод CopyAsync() ставит в очередь процесс копирования от пользователя к пользователю. Само копирование начинается при выполнении фонового процесса «Копирование прав доступа», когда доходит очередь до созданного с помощью метода процесса.
При копировании передаются только личные права сотрудников. При этом не передаются права:
•с типом «Доступ запрещен»;
•на объекты с усиленным строгим доступом;
•на определенный тип объекта, например тип документа;
•роли или группы, в которую входит сотрудник.
Синтаксис
C# |
public static Guid CopyAsync(IUser fromUser, IUser toUser, bool delegateStrictRights = false); |
Параметры
fromUser – пользователь, у которого копируются права доступа;
toUser – пользователь, которому передаются скопированные права доступа;
delegateStrictRights – признак того, что при копировании нужно передавать права на документы с включенным строгим доступом. Значение по умолчанию – false (права не передаются).
Возвращаемое значение
Идентификатор процесса копирования прав доступа.
Пример
/// <summary>
/// Копировать права сотрудника руководителю.
/// </summary>
/// <param name="employeeId">Идентификатор сотрудника.</param>
/// <param name="managerId">Идентификатор руководителя.</param>
/// <returns>Идентификатор процесса копирования прав.</returns>
public string StartAccessRightsTransfering(long employeeId, long managerId)
{
var employee = Employees.GetAll().FirstOrDefault(e => e.Id == employeeId);
var manager = Employees.GetAll().FirstOrDefault(e => e.Id == managerId);
var processId = AccessRights.CopyAsync(employee, manager);
return processId.ToString();
}
© Компания Directum, 2024 |