gpt4 book ai didi

python - Django Rest Framework 不允许我拥有多个权限

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:40 25 4
gpt4 key购买 nike

我对 Django Rest Framework 和权限有疑问。例如,DRF 不会让我对我的观点拥有超过一个权限。

如果我以管理员用户身份登录 API,我可以使用此 mixin 进行访问:

class PermissionMixin(object):
permission_classes = (permissions.IsAdminUser)

现在,如果我添加第二个权限混合:

class PermissionMixin(object):
permission_classes = (permissions.IsAdminUser, TokenHasReadWriteScope)

管理员用户被拒绝访问。应该发生的是管理员用户和拥有 token 的用户都可以访问,但是现在只有 TokenHasReadWriteScope 用户可以访问。

有没有其他人遇到过这个问题,这是怎么回事?

我需要两种类型的用户都可以访问。

这是我的观点:

class SomeList(PermissionMixin, generics.ListCreateAPIView)

queryset = Award.objects.all()
serializer_class = AwardSerializer

PS TokenHasReadWriteScope 来自django-oauth-toolkit

最佳答案

version 3.9 and above of Django Rest Framework ,它们内置了对可组合权限类的支持,您可以开箱即用地使用和/或运算符:

permission_classes = [IsAuthenticated & (ReadOnly | IsAdmin)]

关于python - Django Rest Framework 不允许我拥有多个权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24884245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com