ISecurityDescriptor.Apply

Синтаксис

Apply(ApplyByHierarchy: Boolean);

Параметры

ApplyByHierarchy. Параметр, определяющий будут ли установлены параметры безопасности всех дочерних объектов в соответствии с параметрами безопасности текущего объекта.

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

Если передавать значение False, то параметры будут применены только для текущего объекта, но они будут распространяться на все дочерние объекты, для которых флагу Flags установлено значение SecurityDescriptorFlags.AutoInherited.

Описание

Метод Apply осуществляет выход из режима редактирования с сохранением всех изменений параметров безопасности объекта.

Пример

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

Sub Main;

Var

MB: IMetabase;

ObjDesc: IMetabaseObjectDescriptor;

SecDesc: ISecurityDescriptor;

AcessCL: IAccessControlList;

ACE: IAccessControlEntry;

Sec: IMetabaseSecurity;

SS: ISecuritySubject;

Sid: ISid;

Begin

MB := MetabaseClass.Active;

ObjDesc := MB.ItemById("Obj_1");

SecDesc := ObjDesc.SecurityDescriptor;

Sec := MB.Security;

SS := Sec.AllUsers.Item(10);

Sid := SS.Sid;

SecDesc.Edit;

AcessCL := SecDesc.Acl;

ACE := AcessCL.AddAce(AceType.AccessAllowed, Sid, 131071);

SecDesc.Apply(False);

End Sub Main;

После выполнения примера в параметрах управления доступом для указанного объекта будет добавлен пользователь. В дополнительных параметрах безопасности ему будут назначены разрешения в соответствии с маской "131071" (Полный доступ). Данные изменения будут применены только для указанного объекта.

См. также:

ISecurityDescriptor | ISecurityDescriptor.Edit