【发布时间】:2014-09-13 02:07:37
【问题描述】:
我对 Django Rest 框架和权限有疑问。例如,DRF 不会让我对自己的观点拥有超过一项权限。
如果我以管理员用户身份登录 API,我可以使用这个 mixin 获得访问权限:
class PermissionMixin(object):
permission_classes = (permissions.IsAdminUser)
现在,如果我添加第二个权限混合:
class PermissionMixin(object):
permission_classes = (permissions.IsAdminUser, TokenHasReadWriteScope)
管理员用户被拒绝访问。应该发生的是管理员用户和具有令牌的用户都可以访问,但是现在只有 TokenHasReadWriteScope 用户可以访问。
有没有其他人遇到过这个问题,这是怎么回事?
我需要两种类型的用户都可以访问。
这是我的视图:
class SomeList(PermissionMixin, generics.ListCreateAPIView)
queryset = Award.objects.all()
serializer_class = AwardSerializer
PS TokenHasReadWriteScope 来自django-oauth-toolkit
【问题讨论】:
-
我想你做了“从 oauth2_provider.ext.rest_framework 导入 TokenHasReadWriteScope”?!控制台中的错误是什么样的?
-
@wagner-felix 您好,感谢您的回复。是的,我已正确导入。完全没有错误。
标签: python django django-rest-framework