WSO2 API管理器和XACML集成不工作

WSO2 API管理器和XACML集成不工作,wso2,Wso2,我正在尝试将最新版本的wso2 API管理器(1.6.0)与wso2 XACML模块集成。我发现并一步一步地遵循了非常有用的方法。 不幸的是,PDP拒绝授权我的请求,即使我从PAP中删除了所有策略,并且没有向PDP发布任何策略 他们的配置是我找不到的吗? 我将获得以下输出 [2014-03-05 19:05:37052]警告-请求CtxFactory未在XACML请求中定义命名空间,并假定为XACML 3.0 [2014-03-05 19:05:37058]错误-AuthenticationMe

我正在尝试将最新版本的
wso2 API管理器(1.6.0)
wso2 XACML模块集成。我发现并一步一步地遵循了非常有用的方法。
不幸的是,PDP拒绝授权我的请求,即使我从PAP中删除了所有策略,并且没有向PDP发布任何策略

他们的配置是我找不到的吗? 我将获得以下输出

[2014-03-05 19:05:37052]警告-请求CtxFactory未在XACML请求中定义命名空间,并假定为XACML 3.0
[2014-03-05 19:05:37058]错误-AuthenticationMediator org.apache.synapse.synapse异常:用户无权执行该操作

[2014-03-05 19:05:37059]信息-LogMediator状态=执行默认“故障”序列,错误代码=0,错误消息=用户无权执行操作

如果PDP中没有策略,则表示PDP将返回不适用的决策。因此,API经理的PEP将认为
不适用
为拒绝决定。在XACML中,有一个称为基于拒绝的PEP的概念。这意味着,除允许之外的所有结果都被视为拒绝。因此,为了进行测试,您可以添加一些带有许可证规则的策略并进行验证。比如下面


另外,如果您可以在授权组件中启用调试日志并进行检查,这也会很有帮助。。因为这样您就可以看到XACML请求和响应消息

将以下内容添加到log4j.properties文件

log4j.logger.org.wso2.carbon.identity.entity=DEBUG

您可以查看有关启用调试日志的详细信息


一旦你得到了请求和响应。你要核实出了什么问题。。此外,您还可以使用一个测试工具来测试您是否可以测试这些策略。

非常感谢您快速有效的支持。 我已经添加了您的“许可”规则,并能够在成功访问后访问我的后端系统 政策验证。这意味着循环是封闭的,我昨天非常简单的政策是问题的根源。 我必须详细回顾这些规则是如何设置和定义的。 再次感谢你的帮助 当做 Vpl

[2014-03-06 19:03:11637]调试-授权PolicyInvalizationCache策略缓存的哈希代码为:1 [2014-03-06 19:03:11637]调试-授权PolicyInvalizationCache策略缓存的共享哈希代码为:1 [2014-03-06 19:03:11638]调试-找到与XACML策略匹配的SimplePolicyCollection许可策略 [2014-03-06 19:03:11638]调试-授权BaseCache缓存:$local$。PDP_决策_缓存使用tena中的新条目填充 nt域名:carbon.super [2014-03-06 19:03:11639]调试-授权引擎XACML响应:允许 [2014-03-06 19:03:11641]调试-权利调解人权利决定是:许可 [2014-03-06 19:03:11643]调试-授权Mediator用户有权执行该操作
[2014-03-06 19:03:11644]调试-未定义Accept序列上的AuthenticationMediator。

请制定策略,并使用内置的“试用”工具测试策略。这将有助于您找出XACML策略中的任何问题很高兴听到您已经成功了。。。此外,如果您希望了解更多有关XACML和授权功能的信息,请参阅本博客。。它包含很多细节。。如果以上回答正确,您可以接受它:)