WSO2 Управление несколькими API с одной и той же конечной точкой с помощью политик XACML
Я следовал руководству по применению политик для вызовов API http://wso2.com/library/tutorials/2016/02/tutorial-how-to-enable-role-based-access-control-for-wso2-api-manager-using-xacml/
Это было нелегко, но я кое-что запустил. Я могу изменить доступ к различным конечным точкам API в зависимости от роли пользователя.
У меня вопрос. Вот вымышленная настройка для завершения урока:
- API
EduCollege
с конечными точками/student/info
а также/staff/info
(руководство) - API
Prison
с конечными точками/prisoner/info
а также/staff/info
(обратите внимание, что это та же самая конечная точка)
Я пишу политику EDUCollegePolicy
это позволяет только тем, кто с ролью college_admin
чтобы получить доступ /staff/info
(руководство).
Но, похоже, нет никакого способа ограничить доступ этих администраторов колледжа к информации о сотрудниках тюрьмы! Поле resource
содержит только информацию о конечной точке.
Есть ли способ, используя эту настройку, ограничить с помощью API?
Или это может потребовать другую надстройку JAR, которая будет отправлять resource
значение установлено в API/version/endpoint
вместо просто /endpoint
?
Да, кстати: я не мог установить политику в соответствии с конечными точками, указанными в руководстве. Не похоже, что это /staff/info
, но я получил его для работы с регулярным выражением .*staff.*info.*
, Не хорошо. Интересно, каков фактический ресурс, отправленный из JAR в PDP, я не смог найти его ни в одном журнале, включая журналы IDS (IDS действует как PDP)