По своему дизайну в XACML атрибуты всегда считаются многозначными. Это то, что мы называем сумками. Значения атрибута не имеют порядка. Это означает, что:
- Пример 1: роль = ["менеджер"]
- Пример 2: role = ["manager", "janitor"]
- Пример 3: роль = ["уборщик", "менеджер"]
- Пример 4: роль = ["уборщик", "менеджер", "менеджер"]
- все допустимые значения для роли атрибута. Обратите внимание, что даже однозначный атрибут все еще является сумкой значений. Примеры 2 и 3 одинаковы, данный порядок не имеет значения в сумках. Наконец, значения могут быть повторены в сумке. Я не могу придумать вескую причину, почему, но технически они могут (как в примере 4).
Если по какой-то причине используемый вами PDP учитывает только первое значение, то в его реализации есть серьезная ошибка.