XACML 策略位置

Posted

技术标签:

【中文标题】XACML 策略位置【英文标题】:XACML policy location 【发布时间】:2013-09-27 20:58:33 【问题描述】:

是否可以将 XACML 策略存储在文件系统的任何位置(例如 c:\users\simo\projects\project1\policies)? 如果答案是肯定的,如何配置 jbossxacml-config.xml ?

我试过了,但它不起作用。

<ns:jbosspdp xmlns:ns="urn:jboss:xacml:2.0">
  <ns:Policies>
    <ns:Policy>
       <ns:Location> c:\users\simo\projects\project1\policies\policy1.xml</ns:Location>
    </ns:Policy>
  </ns:Policies>

例外情况如下:

java.lang.RuntimeException: java.lang.RuntimeException: Null Inputstream for c:\users\simo\projects\project1\policies\policy1.xml
org.jboss.security.xacml.core.JBossPDP.<init>(JBossPDP.java:171)

谢谢, 西莫

【问题讨论】:

Simo,您可能希望提供更好的描述。您使用的是什么 XACML 引擎?看来您正在使用 JBoss 的 PicketBox。是这样吗? 【参考方案1】:

是的,我使用 JBoss 的 PicketBox 作为 PDP 引擎。顺便说一句,我找到了问题的答案,我应该使用 Java URI 格式作为策略文件位置,即

<ns:Location>file:///c:/Users/simo/project1/policies/policy1.xml</ns:Location>

谢谢

【讨论】:

以上是关于XACML 策略位置的主要内容,如果未能解决你的问题,请参考以下文章

如何评估 XACML 策略

XACML 策略 - 获得“不确定”响应

比较 XACML 策略中的两个多元素属性

发送带有多个值的 XACML 请求以由策略评估

即使策略规则中缺少该属性,具有附加属性的 XACML 3.0 请求也匹配

如何在 XACML 策略中实现这些规则?