IMetabaseObjectDescriptor.HasAccess

Синтаксис

HasAccess(AccessMask: Integer): Boolean;

HasAccess(AccessMask: integer): boolean;

Параметры

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

Описание

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

Комментарии

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

Пример

Для выполнения примера предполагается наличие в репозитории объекта с идентификатором «ObjTest».

Добавьте ссылку на системную сборку Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObjectDescriptor;
Begin
    MB := MetabaseClass.Active;
    MObj := MB.ItemById(
"ObjTest");
    Debug.WriteLine(MObj.HasAccess(
    MetabaseObjectPredefinedRights.ExportData 
Or
    MetabaseObjectPredefinedRights.ImportData));
End Sub UserProc;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MObj: IMetabaseObjectDescriptor;
Begin
    MB := Params.Metabase;
    MObj := MB.ItemById[
"ObjTest"];
    System.Diagnostics.Debug.WriteLine(MObj.HasAccess(
    MetabaseObjectPredefinedRights.moprExportData 
As Integer Or
    MetabaseObjectPredefinedRights.moprImportData 
As Integer));
End Sub;
End Class;

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

См. также:

IMetabaseObjectDescriptor