-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Or conditionals shortcutting prematurely #2
Comments
After a bit more research, I discovered that when using this conditional, things break even more significantly:
In that scenario, the permission w/ object specific checks (and no general |
So the issue here seems to more succinctly be that rest_condition doesn't support blended conditions. You can't mix a has_permission with a has_object_permission. Does this issue continue if you create a has_object_permission function that just does the same thing as has_permission? |
@ryanisnan @DavidJFelix I got this to work with both i.e. Don't do this...
Where Do...
|
I'm having a similar problem: non-authorized users are being able to access protected resources, even when I defined the permissions as suggested by @glynjackson:
I believe what is happening is that Is the development of this repository stalled? I'd be willing to help to solve this problem, these conditions are awesome. |
@lucasdavid I too see that the issue is manifested when conditions are combined such that when doing Or on a class which returns True for has_object_permission by default like in IsAdminUser. I overrode the has_object_permission in a derived class from IsAdminUser as a workaround, given that this bug has been there since a long time and probably it is not going to get fixed anytime soon. |
Yep, overriding |
I've defined a fairly standard set of permissions, and am using rest_condition to generate a set of conditional permissions.
I'm also trying to use these w/ the
IsAuthenticated
permission class, but have omitted it here for brevity.In a simple ViewSet that uses the rest_condition permission class defined below, it appears as though the only permission that is being run in many circumstances is the
IsSuperuser
class.I've found that by reordering things, I can get the others to run, but I feel as though this is unintended behaviour. Is it because one of the permission classes is an object-specific permission, while the others aren't?
In my tests, I have added debugging statements in each permission class.
The text was updated successfully, but these errors were encountered: