Attributes: IABACAttributeInstances;
Свойство Attributes возвращает коллекцию значений системных и пользовательских атрибутов субъекта безопасности.
Для выполнения примера предполагается, что в менеджере безопасности для пользователей добавлен целочисленный атрибут с идентификатором ACCESS и строковый атрибут VALUES.
Добавьте ссылки на системные сборки: ABAC, Metabase.
Sub UserProc;
Var
Mb: IMetabase;
MbSec: IMetabaseSecurity;
User: IMetabaseUser;
Attrs: IABACAttributeInstances;
Attr: IABACAttributeInstance;
AttrValues: Array Of String;
Begin
Mb := MetabaseClass.Active;
MbSec := Mb.Security;
// Получим атрибуты администратора репозитория
User := MbSec.Users.Administrator;
Attrs := User.Attributes;
// Найдем атрибут с идентификатором ACCESS
Attr := Attrs.FindById("ACCESS");
Attr.Value := 100;
// Найдем атрибут с идентификатором VALUES
Attr := Attrs.FindById("VALUES");
// Создадим массив со множеством значений
AttrValues := New String[3];
AttrValues[0] := "A";
AttrValues[1] := "B";
AttrValues[2] := "C";
// Изменим значение атрибута
Attr.Value := AttrValues;
// Сохраним изменения в менеджере безопасности
MB.Security.Apply;
End Sub UserProc;
При выполнении примера у администратора репозитория будут заданы значения указанных пользовательских атрибутов.
См. также: