IMetabaseObjectDescriptor.SecurityDescriptor

Синтаксис

SecurityDescriptor: ISecurityDescriptor;

Описание

Свойство SecurityDescriptor возвращает параметры управления доступом к текущему объекту.

Пример

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

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

Sub UserProc;
Var
    MB: IMetabase;
    ObjDesc: IMetabaseObjectDescriptor;
    SecDesc: ISecurityDescriptor;
    AcessCL: IAccessControlList;
    ACE: IAccessControlEntry;
    MS: IMetabaseSecurity;
    SS: ISecuritySubject;
    Lic: Object;
Begin
    MB := MetabaseClass.Active;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
    
// Получим объект
    ObjDesc := MB.ItemById("OBJECT");
    SecDesc := ObjDesc.SecurityDescriptor;
    MS := MB.Security;
    
// Получим пользователя
    SS := MS.AllUsers.Item(10);
    SecDesc.Edit;
    
// Разрешим полный доступ пользователю к объекту
    AcessCL := SecDesc.Acl;
    ACE := AcessCL.AddAce(AceType.AccessAllowed, SS.Sid, 
131071);
    SecDesc.Apply(
True);
    
// Сохраним изменения
    MS.Apply;
    
// Освободим лицензию
    Lic := Null;
End Sub UserProc;

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

См. также:

IMetabaseObjectDescriptor