Не должно быть никакой разницы с точки зрения принятия решений (РАЗРЕШЕНИЯ или ОТКАЗ) в зависимости от того, где развернуто ваше приложение.
Я могу рассказать вам, как определить, связана ли проблема с вашим приложением, с вашей политикой или с ошибкой в вашем запросе.
Во-первых, просто чтобы проверить, совпадают ли запросы, проверили ли вы журналы для PDP на Azure и на локальном хосте, чтобы убедиться, что запросы действительно совпадают?
ЕслиИтак, затем я предлагаю вам установить очень, очень простое правило, которое будет возвращать DENY, несмотря ни на что.Затем убедитесь, что вы получаете DENY при локальном запуске приложения Spring Boot локально (т.е. $ mvn spring-boot:run
на вашем компьютере) и на развернутом сервере.
Если вы не можете получить DENY на обоих, вам нужно пересмотреть логику своего приложения и тому подобное.
Как только вы получите DENY, установите простую политику, которая принимает один параметр.IE, если someNumber == 2, вернуть разрешение.Затем попробуйте это как на локальном хосте, так и на Azure.Как только у вас это заработает, вы готовы попробовать политику, упомянутую в вашем вопросе.
К вашему сведению У меня есть несколько проектов Spring Boot, которые взаимодействуют с механизмом XACML (Axiomatics, а не WSO2) в моем Github, например: https://github.com/michaelcgood/Axiomatics-Yet-Another-PEP.
У меня также есть несколько статей о Spring Boot на моем сайте: https://michaelcgood.com/category/spring/.Если у вас есть вопросы по поводу содержимого или кода, вы можете связаться со мной (информация на странице контактов), и я отвечу, как смогу.