我正在编写一个策略,其中包含规则的有序许可覆盖。XACML规则主题
规则1允许访问具有适当安全级别的任何人的所有内容。
规则2允许使用备选凭证访问某些内容(3资源)给任何人。
规则3拒绝访问所有其他内容。如果用户既没有安全级别,也没有凭证,这是一个故障安全。
我的问题是,我可以让我的服务器运行程序和规则1工作正常。对于规则2,如果我给出所需的值,唯一的结果是“拒绝”,如果我留下任何空白,它就是“不确定”。尽管使用了排序许可覆盖,但我认为该政策并未运行我的规则2。
我已经尝试运行规则3注释掉的脚本,结果只是“不确定”或“不适用”。
在规则1中,我将目标留空。对于规则2,我定义了资源,但没有定义主题。我是否需要指定主题才能使此规则起作用?还有什么可能导致我的第一和第三条规则起作用,但不是我的第二条规则。
我解决了这个问题。我在政策和规则1中调用了相同的资源,所以我不能再次调用它。 XACML中的资源必须是相互排斥的。资源是我的包,子资源是页面。 – Nicholas 2013-02-28 20:35:53
......我解决了这个问题,它是通过在规则1中声明一个具有高级许可的主题,并将条件留空。该规则是一个许可证规则。 – Nicholas 2013-02-28 20:36:56