Как получить ресурс:root-resource-id в SampleResourceFinderModule из запроса

У меня есть сценарий, в котором я отправляю ресурс: root-resource-id из запроса, как показано ниже

<Attributes Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource">
    <Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" IncludeInResult="true">
        <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">
            Customer
        </AttributeValue>
    </Attribute>
    <Attribute AttributeId="urn:oasis:names:tc:xacml:1.0:resource:root-resource-id" IncludeInResult="true">
        <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">
            Customer
        </AttributeValue>
    </Attribute>
    <Attribute AttributeId="urn:oasis:names:tc:xacml:2.0:resource:scope" IncludeInResult="false">
        <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">
            Descendants
        </AttributeValue>
    </Attribute>
</Attributes>`

Теперь мне нужно получить доступ к ресурсу: root-resource-id в SampleResourceFinderModule, как если бы я получил доступ к ресурсу: resource-id:

if("Customer".equals(parentResourceId.encode())){}

Можете ли вы сказать мне, как я могу это сделать?

1 ответ

Решение

Я не уверен, что именно вы пытаетесь сделать, и каков ваш точный вопрос. Я предполагаю, что вы пытаетесь иерархический профиль ресурса с WSO2IS, который упоминается здесь. Похоже, что вы написали новое расширение, реализовав "PIPResourceFinder". Идея этого расширения состоит в том, чтобы получить ресурсы потомков или потомков под данным корневым ресурсом. Поэтому в запросе XACML необходимо отправить корневой ресурс и область (дочерние или потомки).

Затем корневой ресурс идентифицируется идентификатором атрибута "urn:oasis:names:tc:xacml:1.0:resource:resource-id". (а не "urn:oasis:names:tc:xacml:1.0:resource:root-resource-id" id атрибута.. Я предполагаю, что сообщение в блоге имеет какую-то ошибку. Согласно сценарию в сообщении в блоге, возможно, потребуется отправить корневой ресурс с другим идентификатором атрибута).

Область действия определяется идентификатором атрибута "urn:oasis:names:tc:xacml:2.0:resource:scope".

Наконец, вы можете получить доступ к корневому ресурсу в искателе "PIPResourceFinder". Затем вы можете вернуть дочерние ресурсы, связанные с корневым ресурсом. Вы можете просмотреть пример реализации, упомянутый в этом блоге.

Другие вопросы по тегам