2014-02-04 5 views
0

У меня есть сценарий, в котором я посылаю ресурс: корневой ресурс идентификатор из запроса нижеКак восстановить ресурс: корневой ресурс-идентификатор в SampleResourceFinderModule из запроса

<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>` 

Теперь, я должен ресурс доступа: корневой ресурс-идентификатор в SampleResourceFinderModule как если я получить доступ к ресурсу: ресурс-ID:

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

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

+0

Hi Naveen, прежде чем вы вникаете в специфику реализации, вы хотите определить свои требования к авторизации (простой старый английский) и проделать свой путь оттуда. В вашем примере, какова ваша политика? Каковы ваши атрибуты? –

ответ

0

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

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

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

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

+0

большое спасибо asela. Позвольте мне быть ясным, у меня есть сценарий, в котором у меня есть служба, служба имеет несколько объектов, объекты будут содержать атрибуты. поэтому теперь я создам запрос XACML, который будет содержать только сервис, PIP должен найти свои объекты, а также атрибуты для каждого объекта. Но в моей текущей реализации PIP с областью действия и идентификатором ресурса я могу найти только атрибуты объектов. Однако, если я отправляю servicename, я должен иметь возможность находить в нем объекты, а также атрибуты. –

Смежные вопросы