IABACRootPolicyObject.Save

Синтаксис

Save(Writer: IXmlDomElement);

Save(Prognoz.Platform.Interop.MsXml2.IXMLDOMElement);

Описание

Метод Save осуществляет сохранение структуры атрибутного доступа в XML-файл.

Комментарии

Для загрузки сохраненной структуры атрибутного доступа из XML-файла используйте метод IABACRootPolicyObject.Load.

Пример

Для выполнения примера убедитесь, что в атрибутном доступе содержится структура элементов: набор политик, политики, правила.

Добавьте ссылки на системные сборки: ABAC, Metabase, Xml (для примера на Fore.NET используйте MsXml2).

Sub UserProc;
Var
    PolicyObject: IABACRootPolicyObject;
    MB: IMetabase;
    MS: IMetabaseSecurity;
    Xml: IXmlDomElement;
    XmlDoc: IXmlDomDocument;
Begin
    MB := MetabaseClass.Active;
    MS := MB.Security;
    
// Получим структуру атрибутного доступа
    PolicyObject := MS.Policy.ABACRules;
    
// Сохраним структуру атрибутного доступа в XML-файл
    XmlDoc := New DOMDocument.Create;
    Xml := XmlDoc.createElement(
"ABAC");
    XmlDoc.appendChild(Xml);
    PolicyObject.Save(Xml);
    XmlDoc.save(
"C:\temp\ABAC.xml");
End Sub UserProc;

Imports Prognoz.Platform.Interop.ABAC;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.MsXml2;

Public Shared Sub Main(Params: StartParams);
Var
    PolicyObject: IABACRootPolicyObject;
    MB: IMetabase;
    MS: IMetabaseSecurity;
    Xml: IXmlDomElement;
    XmlDoc: FreeThreadedDOMDocument60;
Begin
    MB := Params.Metabase;
    MS := MB.Security;
    
// Получим структуру атрибутного доступа
    PolicyObject := MS.Policy.ABACRules;
    
// Сохраним структуру в XML-файл
    XmlDoc := New FreeThreadedDOMDocument60.Create();
    Xml := XmlDoc.createElement(
"ABAC");
    XmlDoc.appendChild(Xml);
    PolicyObject.Save(Xml);
    XmlDoc.save(
"C:\temp\ABAC.xml");
End Sub;

В результате выполнения примера в заданном XML-файле будет содержаться структура атрибутного доступа.

См. также:

IABACRootPolicyObject