Save(Writer: 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-файле будет содержаться структура атрибутного доступа.
См. также: