我试图理解XACML specs的含义是如何从<target>
,<Target>
的{{1}}元素中计算出<PolicySet>
元素以及其中包含的<Policy>
元素。 3.3.2.1节给出了以下解释:
...可以使用两种逻辑方法。在一种方法中,外部
<Rule>
或<Target>
(“外部组件”)的<PolicySet>
元素被计算为所引用{的所有<Policy>
元素的并集{1}},<Target>
或<PolicySet>
元素(“内部组件”)。 在另一种方法中,将外部组件的<Policy>
元素计算为内部组件的所有<Rule>
元素的交集。 每种情况下的评估结果都将大不相同:在第一种情况下,外部组件的<Target>
元素使其适用于与至少一个内部组件的<Target>
元素匹配的任何决策请求;在第二种情况下,外部组件的<Target>
元素使其仅适用于与每个内部组件的<Target>
元素匹配的决策请求。
我确实理解为什么要这样做,很明显能够选择合适的Policy或PolictSet进行评估,但是我不知道如何实现。我确实看过Sun's XACML和AT&T XACML 3.0的实现,但是找不到任何代码示例来说明如何实现。
所以,我的问题是,有人可以详细说明如何进行此计算,还是可以参考(学术)论文或对此类计算感到厌烦的代码?我是否错过了Sun和AT&T代码库中的某些内容?