IMetabaseUser.GetEffectiveRights

Синтаксис

GetEffectiveRights(SecurityDescriptor: ISecurityDescriptor): Integer;

Параметры

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

Описание

Метод GetEffectiveRights возвращает значение, соответствующее эффективным правам доступа данного пользователя к объекту репозитория.

Комментарии

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

Основные, дополнительные и специфические операции, доступные для определенных типов объектов, представлены в разделе Типы событий.

Для разбора значения маски необходимо реализовать пользовательскую функцию, которая позволит сопоставить отдельные биты маски соответствующим значениям перечислений. Пример работы с маской доступа представлен в разделе Примеры: Работа с маской доступа.

Пример

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

Sub Main;
Var
    MB: IMetabase;
    MDesc: IMetabaseObjectDescriptor;
    User: IMetabaseUser;
    i: Integer;
Begin
    MB := MetabaseClass.Active;
    User := MB.Security.ResolveName("TestUser"As IMetabaseUser;
    MDesc := MB.ItemById("Obj_1");
    i := User.GetEffectiveRights(MDesc.SecurityDescriptor);
    Debug.WriteLine(i);
End Sub Main;

После выполнения примера в переменной «i» будет содержаться значение, соответствующее эффективным правам, которые розданы указанному пользователю на объект «Obj_1».

См. также:

IMetabaseUser