<< Click to Display Table of Contents >> Объектная модель > Действия с репозиториями и сущностями > AccessRights, AccessRightsTypes – права доступа > AccessRights – управление правами доступа AllowRead – выполнить с правами на просмотр |
В исключительных ситуациях существует возможность программно извлечь информацию, на которую у пользователя нет прав доступа. Например, чтобы получить статистику для виджетов. В этом случае код на получение данных «оборачивается» в метод AllowRead(), и на него не действуют ограничения по правам пользователя. То есть даже если у пользователя нет прав, для выполнения действия повышаются права до прав на просмотр. Метод доступен только в серверном коде.
Примечание. При использовании метода AllowRead() скрытые версии документов не загружаются.
Синтаксис
C# |
public static void AllowRead(Action executor); |
Параметры
executor – действие, которое необходимо выполнить с повышением прав пользователя.
Пример
Проверить, созданы ли по документу задания на обработку. Для ускорения поиска заданий отключить проверку прав доступа.
/// <param name="task">Текущая задача.</param>
/// <param name="document">Документ.</param>
/// <returns>True, если по документу уже созданы задания на обработку за рамками /// текущей задачи.</returns>
[Remote(IsPure = true)]
public virtual bool HasOtherDocumentProcessingAssignments(ITask task, IOfficialDocument document)
{
var hasDocumentProcessingAssignments = false;
Sungero.Core.AccessRights.AllowRead(
() =>
{
hasDocumentProcessingAssignments = this.GetOtherDocumentProcessingAssignments(task, document).Any();
});
return hasDocumentProcessingAssignments;
}
© Компания Directum, 2024 |