2011-09-23 40 views
2

我與XACML政策工作,我有一個規則,其中包括類似以下的資源目標:如何將XACML規則應用於每個子URI?

<Resources> 
     <Resource> 
     <ResourceMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal"> 
      <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#anyURI">/MyDirectory</AttributeValue> 
      <ResourceAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI"/> 
     </ResourceMatch> 
     </Resource> 
    </Resources> 

我希望此規則適用於/Mydirectory所有子目錄。但是,如果我要使用資源/MyDirectory/MySubdirectory評估請求,我會得到一個DECISION_NOT_APPLICABLE (3)響應。

是否有一個XQuery函數可以讓我將規則應用於單個目錄的所有子目錄?

回答

4

您可以使用甕:綠洲:名稱:TC:XACML:2.0:功能:任何URI,正則表達式匹配和定義的AttributeValue爲正則表達式。

<Resources> 
     <Resource> 
     <ResourceMatch MatchId="urn:oasis:names:tc:xacml:2.0:function:anyURI-regexp-match"> 
      <AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">^/MyDirectory/</AttributeValue> 
      <ResourceAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI"/> 
     </ResourceMatch> 
     </Resource> 
</Resources> 
+0

完美工作 - 感謝指針! – JoshC13

相關問題