Predefined: Boolean;
Свойство Predefined возвращает значение True, если атрибут является системным.
Атрибуты делятся на системные и пользовательские, используются при формировании цели и дополнительных условий проверки доступа.
Примечание. Изменение свойств системных атрибутов недоступно.
Для выполнения примера убедитесь, что для пользователей содержится пользовательский атрибут.
Добавьте ссылки на системные сборки: ABAC, Metabase.
Sub UserProc;
Var
ABACAttribute: IABACAttribute;
ABACAttributes: IABACAttributes;
MB: IMetabase;
MS: IMetabaseSecurity;
Str: String;
Begin
MB := MetabaseClass.Active;
MS := MB.Security;
// Проверим атрибуты пользователей
ABACAttributes := MS.Users.Attributes;
ABACAttribute := ABACAttributes.Item(6);
If ABACAttribute.Predefined = True Then
Str:= "системный";
Else Str:= "пользовательский";
End If;
Debug.WriteLine("Атрибут " + "«" + ABACAttribute.Name(MB.CurrentLocale) + "»" + " - " + Str);
ABACAttribute := ABACAttributes.Item(7);
If ABACAttribute.Predefined = True Then
Str:= "системный";
Else Str:= "пользовательский";
End If;
Debug.WriteLine("Атрибут " + "«" + ABACAttribute.Name(MB.CurrentLocale) + "»" + " - " + Str);
End Sub UserProc;
В результате выполнения примера в консоль будет выведено:
Атрибут «Администратор» - системный
Атрибут «ATTR16» - пользовательский
См. также: