2013-05-22 73 views
0

我與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">mail</AttributeValue> 
      <ResourceAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" DataType="http://www.w3.org/2001/XMLSchema#anyURI"/> 
     </ResourceMatch> 
     </Resource> 
    </Resources> 

我想這個資源是一個字符串,而不是任何URI類型,以操縱任何種類的數據作爲資源。否則,anyURI數據類型的可能值是什麼?

回答

1

規範說,資源ID SHELL be anyURI。所以理論上你可以使用字符串數據類型。函數然後將是字符串相等的。

與此同時,在大多數情況下,您可以使用anyURI沒有任何問題。例如,字符串「Alice」是anyURI。

或者,您可以引入另一個屬性,只需命名它並使用,而不是資源ID。

0

除了邁克說,你總是可以創建具有完全相同的ID的新屬性,類別(如果XACML 3.0),以及可選發行人,但改變的數據類型從任何URI字符串:

 <ResourceAttributeDesignator 
      AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" 
      DataType="http://www.w3.org/2001/XMLSchema#string"/> 

只要確保您的XACML請求和XACML策略使用相同的屬性。

相關問題