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» (Полный доступ) в дополнительных параметрах безопасности.
См. также: