描述
我创建了多个XACML文件,其中包含根据first-applicable
规则组合算法评估的多个策略。
有时我无法避免XACML中的代码重复,我必须在XACML文件中的多个位置复制某个XACML策略。
是否可以通过例如XACML避免代码重复?像{xml中的<import file="xacml/deny-policy.xacml"/>
或通过其他方式?
答案 0 :(得分:2)
实际上已经有办法在另一个策略中引用现有的策略以实现可重用性。 您可以使用以下两种方式之一:
例如,下面是在另一个策略中调用现有策略的方法:
<Policy PolicyId="policy1" ....>
....
....
</Policy>
<Policy PolicyId="MasterPolicy" ....>
<Description>Master Policy Set</Description>
<Target>
....
</Target>
<PolicyIdReference>policy1</PolicyIdReference>
</Policy>
答案 1 :(得分:1)
除了Yusuf所说的,您还可以使用变量定义。变量定义是您可以在策略中定义的表达式,您可以在规则条件内重用它们。
有关详细信息,请参阅XACML specification。