IMetabaseUser.HasAccess

Синтаксис

HasAccess(SecurityDescriptor: ISecurityDescriptor; DesiredAccess: Integer): Boolean;

Параметры

SecurityDescriptor. Параметры безопасности объекта репозитория.

DesiredAccess. Маска, определяющая операции, наличие прав на которые, необходимо проверить для пользователя. Для формирования значения маски необходимо использовать значения перечислимого типа MetabaseObjectPredefinedRights. В этом перечислении содержатся основные и дополнительные операции, на которые можно раздавать права и вести аудит доступа. Для определенных классов объектов доступны специфические операции. Для использования специфических операций, в зависимости от класса объекта, в маске можно использовать значения следующих перечислений:

Описание

Метод HasAccess осуществляет проверку наличия прав у пользователя на определенные операции над объектом.

Комментарии

Операции, наличие прав на которые необходимо проверить, передаются посредством параметра DesiredAccess. Если у пользователя присутствуют права на все указанные операции, то метод возвращает значение True, иначе - False.

Пример

Для выполнения примера предполагается наличие в репозитории объекта с идентификатором "Obj_1". Среди субъектов безопасности, созданных в менеджере безопасности текущего репозитория, имеется пользователь «TestUser».

Sub Main;
Var
    MB: IMetabase;
    User: IMetabaseUser;
    MObj: IMetabaseObjectDescriptor;
Begin
    MB := MetabaseClass.Active;
    User := MB.Security.ResolveName(
"TestUser"As IMetabaseUser;
    MObj := MB.ItemById(
"Obj_1");
    Debug.WriteLine(User.HasAccess(MObj.SecurityDescriptor,
        MetabaseObjectPredefinedRights.ExportData 
Or
        MetabaseObjectPredefinedRights.ImportData));
End Sub Main;

После выполнения примера в консоль среды разработки будет выведен признак наличия прав у пользователя «TestUser» на экспорт и импорт данных объекта с идентификатором «Obj_1».

См. также:

IMetabaseUser