Count: Integer;
Свойство Count возвращает количество связей с атрибутами внешних областей хранения/доменов в коллекции.
Добавьте ссылки на системные сборки: ABAC, Host, Metabase.
Sub UserProc;
Var
MB: IMetabase;
MS: IMetabaseSecurity;
ABACAttributes: IABACSubjectAttributes;
Mappings: IABACSubjectAttributesMappings;
Mapping: IABACSubjectAttributesMapping;
Map: IABACSubjectAttributeMapping;
i1, c1, i2, c2: Integer;
Begin
MB := MetabaseClass.Active;
MS := MB.Security;
// Атрибуты пользователей
ABACAttributes := MS.Users.Attributes As IABACSubjectAttributes;
// Связи атрибутов пользователей с атрибутами внешних областей хранения/доменов
Mappings := ABACAttributes.Mappings;
c1 := Mappings.Count;
Debug.WriteLine(c1);
For i1 := 0 To c1 - 1 Do
Mapping := Mappings.Item(i1);
Debug.WriteLine("Тип области хранения/домена: " + Mapping.Provider.ToString);
If (Mapping.Provider = ExternalCatalogType.LDAP) And (Mapping.Realm <> "") Then
Debug.WriteLine("Поддомен: " + Mapping.Realm);
End If;
c2 := Mapping.Count;
Debug.WriteLine("Количество связей атрибутов: " + c2.ToString);
Debug.Indent;
For i2 := 0 To c2 - 1 Do
Map := Mapping.Item(i2);
Debug.WriteLine("Атрибут пользователя: " + Map.Attribute.Name(MetabaseClass.Active.CurrentLocale)
+ " --> " + "Атрибут области хранения/домена: " + Map.ExternalName);
End For;
Debug.Unindent;
Debug.WriteLine("---------------------------");
End For;
End Sub UserProc;
При выполнении примера в консоль среды разработки будет выведена информация о настройках связей атрибутов пользователей с атрибутами внешних областей хранения/доменов, которые могут быть заданы в менеджере безопасности репозитория.
См. также: