Claude Falbriard
Claude Falbriard

Reputation: 935

XACML ALFA / Any-of-Any Condition with a Match at Multi Value Comparison / Which is the matching Element?

When comparing two different bags using an Any-of-Any function, is XACML Version 3 able to identify which was the element that produced the match (signalled by the boolean true value). Beside this return value, is there an index value available, or as integer, or as a list of integers?

Upvotes: 1

Views: 149

Answers (1)

David Brossard
David Brossard

Reputation: 13834

No, there isn't any such mechanism. As you know, in XACML (and ALFA), attribute values are always bags of values. You can convert a single-valued bag into a single atomic value but you can never know the order of a bag nor can you pick a specific value by first, last, or any index. Bags are unordered.

You could potentially introduce a function that would sort a bag e.g. alphabetically and then return the first element or the last.

Consequently, you cannot know which value produced the match. If, for instance, you have a function that says stringAtLeastOneMemberOf(userQualifications, requiredQualifications), you cannot know which one triggered the match.

HTH, David.

Upvotes: 0

Related Questions