In the add_items endpoint, the ACL to be checked is:
NewItemAcl = [(Deny, "user:bob", "create"), (Allow, Authenticated, "create")]
You can see that user bob has 2 principals (user:bob and Authenticated) mentioned with the required permission: create in the ACL. But the actions collide. One principal allows access. The other denies it.
So, what is the final result when Bob tries to add an item? With the ACL above, he is denied access. But if you just change the order of tuples in the list to be the following:
NewItemAcl = [(Allow, Authenticated, "create"), (Deny, "user:bob", "create")]
He will be granted access!
In the
add_itemsendpoint, the ACL to be checked is:You can see that user bob has 2 principals (
user:bobandAuthenticated) mentioned with the required permission:createin the ACL. But the actions collide. One principal allows access. The other denies it.So, what is the final result when Bob tries to add an item? With the ACL above, he is denied access. But if you just change the order of tuples in the list to be the following:
He will be granted access!