Logic XACML规则主题

Logic XACML规则主题,logic,xacml,subject,Logic,Xacml,Subject,我正在为规则编写一份带有有序许可覆盖的政策 规则1允许具有适当安全级别的任何人访问所有内容 规则2允许任何具有替代凭证的人访问某些内容(3个资源) 规则3拒绝访问其他所有内容。如果用户既没有安全级别也没有凭据,则这是故障保护 我的问题是,我可以让我的服务器运行程序,规则1工作正常。对于规则2,如果我给出所需的值,我得到的唯一结果是“拒绝”,如果我将任何值留空,则结果是“不确定”。我认为策略没有运行规则2,尽管使用了有序的许可覆盖 我试着用注释掉的规则3运行脚本,结果只是“不确定”或“不适用” 在

我正在为规则编写一份带有有序许可覆盖的政策

规则1允许具有适当安全级别的任何人访问所有内容

规则2允许任何具有替代凭证的人访问某些内容(3个资源)

规则3拒绝访问其他所有内容。如果用户既没有安全级别也没有凭据,则这是故障保护

我的问题是,我可以让我的服务器运行程序,规则1工作正常。对于规则2,如果我给出所需的值,我得到的唯一结果是“拒绝”,如果我将任何值留空,则结果是“不确定”。我认为策略没有运行规则2,尽管使用了有序的许可覆盖

我试着用注释掉的规则3运行脚本,结果只是“不确定”或“不适用”


在规则1中,我将目标留空。对于规则2,我定义了资源,但没有定义主题。我需要指定主题才能使此规则生效吗?是否有其他原因可能导致我的第一条和第三条规则发挥作用,但不是我的第二条规则

如果您能在这里分享您的政策,我们就可以看一看了。您使用什么编写和测试策略

正如您可能知道的,不确定是由于PDP内部的错误造成的,例如,您要求属性存在,但您没有发送它,或者您正在对缺少的属性使用字符串one和only(或任意*-one和only)函数

顺便问一下,为什么不使用first Applied作为组合算法


请查看用于Eclipse的ALFA插件(它是免费的),以便能够在不必知道XACML语法的情况下快速编写策略:

我解决了这个问题。我在策略和规则1中调用了相同的资源,因此无法再次调用它。资源在XACML中必须是互斥的。资源是我的包,子资源是页面……我通过在规则1中声明一个具有高级权限的主题并将条件留空来解决它。这条规则是许可证规则。