IAccessCheckingService — интерфейс

Предоставляет методы получения списка ролей и доступных операций для сотрудника, а также методы сброса кэша ролевой модели.

Синтаксис

[ResDescription("IAccessCheckingService"), ResName("IAccessCheckingService")]
public interface IAccessCheckingService

Свойства

Имя Описание

EditMode

Задаёт или возвращает признак того, что сервис работает в режиме записи/чтения.

Методы

Имя Описание

GetUserOperations(BaseCard, StaffEmployee)

Возвращает список всех операций, доступных указанному сотруднику для карточки.

GetUserRoles(BaseCard)

Получает список ролей карточки для текущего сотрудника.

GetUserRoles(BaseCard, Guid)

Получает список ролей карточки для указанного сотрудника.

GetUserRoles(BaseCard, StaffEmployee)

Получает список ролей карточки для указанного сотрудника.

IsOperationAllowed(BaseCard, BuiltInOperation)

Возвращает признак разрешения выполнения встроенной операции для заданной карточки.

IsOperationAllowed(BaseCard, StatesOperation)

Возвращает признак разрешения выполнения операции для заданной карточки.

ResetRolesCache

Сбрасывает локальный кэш сервиса.

ResetRolesCache(BaseCard)

Удаляет из кэша информацию полученную для указанной карточки.

ResetRolesCache(Guid)

Удаляет из кэша информацию полученную для карточки с заданным идентификатором.

Заметки

Метод ResetRolesCache сбрасывает только локальный кэш ролевой модели. Поэтому его желательно вызывать вместе с IServerExtensionProxyService.ResetRolesCache, который сбрасывает кэш ролевой модели на сервере.

Примеры

В следующем примере запрашивается список ролей для документа с идентификатором 00000000-0000-0000-0000-000000000000

(1)

IAccessCheckingService accessCheckService = objectContext.GetService<IAccessCheckingService>(); (2)

IStaffService staffService = objectContext.GetService<IStaffService>(); (3)

BaseCard card = objectContext.GetObject<Document>(new Guid("00000000-0000-0000-0000-000000000000")); (4)

IEnumerable<RoleModelRole> roles = accessCheckService.GetUserRoles(card); (5)

foreach (var item in roles) (6)
{
  Console.WriteLine(item.Name);
}
1 Инициализация контекста объектов.
2 Получение сервиса проверки прав доступа.
3 Получение сервиса для работы со справочником сотрудников.
4 Получение документа с идентификатором 00000000-0000-0000-0000-000000000000.
5 Получение списка ролей для карточки.
6 Выведение в консоль названий ролей.