根据部署应用程序的位置,决策(PERMIT或DENY)应该没有区别。
我可以告诉您如何确定问题是否与您的申请,政策或请求中的错误有关。
首先,只是为了验证请求是否相同,您是否在Azure和localhost上检查了PDP的日志,以确保请求确实是相同的?
如果是这样,接下来我建议你设置一个非常非常简单的规则,无论如何都将返回DENY。然后确保在本地运行Spring Boot应用程序时得到DENY(即 $ mvn spring-boot:run 在您的计算机上)和部署的服务器上。
$ mvn spring-boot:run
如果您无法在两者上获得DENY,则需要重新访问应用程序逻辑等。
获得DENY后,设置一个带有一个参数的简单策略。 I.E.如果someNumber == 2,则返回PERMIT。然后在localhost和Azure上尝试此操作。一旦你有了这个工作,你就可以尝试在你的问题中提到的政策了。
仅供参考我有多个Spring Boot项目,可以在我的Github中与XACML引擎(Axiomatics,而不是WSO2)进行通信,例如: https://github.com/michaelcgood/Axiomatics-Yet-Another-PEP 。
我的网站上也有很多关于Spring Boot的文章: https://michaelcgood.com/category/spring/ 。如果您对内容或代码有疑问,可以与我联系(联系页面上的信息),我会尽快回复。