Как обернуть запрос xacml XML

155
01 октября 2019, 09:10

Есть шаблон запроса

<?xml version="1.0" encoding="utf-8"?>
<xacml-samlp:XACMLAuthzDecisionQuery
    xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
    xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" ID="_4019b6ca-e8de-4f3383cb-ec5ab73ec4df" Version="2.0" IssueInstant="2017-05-12T14:25:12.5340114Z"
    xmlns:xacml-samlp="urn:oasis:names:tc:xacml:3.0:profile:saml2.0:v2:schema:protocol:wd14">
    <xacml-context:Request ReturnPolicyIdList="false" CombinedDecision="false"
        xmlns:xacml-context="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17">
        <xacml-context:Attributes Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject">
            <xacml-context:Content>
                <n3:Identifier тип="Type1"
                    xmlns:n3="urn:example.ru:n3:2017-04-10">
                    <n3:System oid="urn:oid:1.2.3">
                        <n3:sn номер="123" />
                        <n3:fio фамилия="Ivanov" имя="Ivan" отчество="Ivanovich" />
                    </n3:System>
                </n3:Identifier>
            </xacml-context:Content>
        </xacml-context:Attributes>
        <xacml-context:Attributes Category="urn:oasis:names:tc:xacml:1.0:subject-category:recipient-subject" />
        <xacml-context:Attributes Category="urn:oasis:names:tc:xacml:1.0:subject-category:intermediary-subject">
            <xacml-context:Content>
                <n3:Identifier тип="Type2"
                    xmlns:n3="urn:example.ru:test:n3:2017-05-04">
                    <n3:System oid="urn:oid:1.2.3.4.5.6.2.1.1.12">
                        <n3:Организация oid="urn:oid:1.2.3.4" />
                    </n3:System>
                </n3:Identifier>
            </xacml-context:Content>
        </xacml-context:Attributes>
        <xacml-context:Attributes Category="urn:oasis:names:tc:xacml:1.0:subject-category:codebase">
            <xacml-context:Content>
                <n3:Identifier тип="SYS_MED"
                    xmlns:n3="urn:example.ru:zzzz:n3:2017-05-04">
                    <n3:System oid="urn:oid:1.2.3.2.9.1.2">
                        <n3:ISM oid="urn:oid:9090" />
                    </n3:System>
                </n3:Identifier>
            </xacml-context:Content>
        </xacml-context:Attributes>
        <xacml-context:Attributes Category="urn:oasis:names:tc:xacml:1.0:subject-category:requesting-machine" />
        <xacml-context:Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource">
            <xacml-context:Content>
                <n3:Identifier тип="pat"
                    xmlns:n3="urn:example.ru:trypares:n3:2017-05-04">
                    <n3:System oid="urn:oid:1.2.60.2.6.1.1.4">
                        <n3:IdGlobal value="IdGlobal" />
                    </n3:System>
                </n3:Identifier>
            </xacml-context:Content>
        </xacml-context:Attributes>
        <xacml-context:Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action">
            <xacml-context:Content>
                <n3:Identifier тип="action"
                    xmlns:n3="urn:example.ru:yy:n3:2017-05-04">
                    <n3:System oid="urn:oid:1.2.643.2.69.1.1.4">
                        <n3:Метод имя="читать" />
                    </n3:System>
                </n3:Identifier>
            </xacml-context:Content>
        </xacml-context:Attributes>
        <xacml-context:Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:environment" />
    </xacml-context:Request>
</xacml-samlp:XACMLAuthzDecisionQuery> 

Необходимо сформировать такой XML как указан выше. Для формирования данной XML я использовал библиотеку Abc.Xacml из Nuget. Однако у меня получилось сформировать лишь <xacml-context:Request со всеми внутренностями. Но обернуть все это в

<xacml-samlp:XACMLAuthzDecisionQuery
        xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
        xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" ID="_4019b6ca-e8de-4f3383cb-ec5ab73ec4df" Version="2.0" IssueInstant="2017-05-12T14:25:12.5340114Z"
        xmlns:xacml-samlp="urn:oasis:names:tc:xacml:3.0:profile:saml2.0:v2:schema:protocol:wd14">

</xacml-samlp:XACMLAuthzDecisionQuery> 

у меня не получается.

Планируется что данная XML будет переведена в base64 и отправлена по http.

Вопрос в том как обернуть xacml-context:Request в xacml-samlp:XACMLAuthzDecisionQuery ?

READ ALSO
Серверное приложение Google Drive Api C#

Серверное приложение Google Drive Api C#

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

138
Универсальный метод парсинга Json

Универсальный метод парсинга Json

Есть некий апи сервис который отдает Json объекты

127
Асинхронно загрузить данные

Асинхронно загрузить данные

Есть личный кабинет, при входе отображается имя пользователя и в скобочках его балас(считается в 1с) Как сделать чтобы баланс загружался после...

125
Модульный тест файловых операций

Модульный тест файловых операций

Впервые задумался над написанием модульного теста для проверки копирования и чтения файлов (Unit написал и использовал заглушки Moq), но не знаю...

102