IAuditFilterCondition.Operation

Синтаксис

Operation(Index: Integer): Integer;

Параметры

Index. Индекс позиции определяемой операции. Количество позиций определяется свойством OperationCount.

Описание

Свойство Operation определяет операции, информация по которым будет отображаться в протоколе доступа.

Комментарии

Значения операций могут совпадать, поэтому для определения однозначности операции обязательно следует задавать класс объекта, для которого данные операции будут отображаться в протоколе доступа.

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

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

Пример

Sub UserProc;
Var
    Mb: IMetabase;
    Log: IAuditLog;
    Fil: IAuditFilter;
    Con: IAuditFilterCondition;
    AL: IAuditLogons;
    AO: IAuditOperations;
Begin
    Mb := MetabaseClass.Active;
    Log := Mb.Security.OpenAuditLog;
    Fil := Log.Filter;
    Fil.Clear;
    Con := Fil.Add;
    Con.MinDate := DateTime.Parse("9.06.2008 00:00:00");
    Con.OperationCount := 2;
    Con.Operation(0) := MetabaseObjectPredefinedRights.Create_;
    Con.OperationClass(0) := MetabaseObjectClass.KE_CLASS_METABASEUPDATEOBJECT;
    Con.Operation(1) := MetabaseObjectPredefinedRights.Delete Or MetabaseObjectPredefinedRights.Create_;
    Con.OperationClass(1) := MetabaseObjectClass.KE_CLASS_FOLDER;
    AL := Log.OpenLogons(False);
    While Not AL.Eof Do
        Debug.WriteLine(AL.UserName + " " + AL.UserOS + " " + ((AL.Stamp As Variant) As DateTime).ToString);
        Debug.Indent;
        AO := Log.OpenOperations(AL.Session);
        While Not AO.Eof Do
            Debug.WriteLine("Операция: " + AO.Name + "; Объект:" + AO.ObjectId + "; Номер операции:" + AO.Operation.ToString);
            AO.Next;
        End While;
        AL.Next;
        Debug.Unindent;
    End While;
End Sub UserProc;

После выполнения примера в консоль будут выведены все действия с определенными классами объектов по заданным операциям, начиная с конкретной даты (9.06.2008).

См. также:

IAuditFilterCondition