首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对除超级用户以外的所有用户限制Django Rest框架

对除超级用户以外的所有用户限制Django Rest框架
EN

Stack Overflow用户
提问于 2016-10-04 14:08:52
回答 1查看 630关注 0票数 2

我能否将Django Rest框架限制为仅供超级用户访问?

我是否可以在url中添加一个装饰符,以便只有超级用户才能访问url:

代码语言:javascript
复制
url(r'^api/', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-04 14:35:04

如果您想让任何工作人员访问API,那么很容易

代码语言:javascript
复制
REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAdminUser',
    )
}

对于超级用户,没有内置的权限类,但我们可以轻松地创建一个类。

代码语言:javascript
复制
from rest_framework import permissions

class SuPermission(permissions.BasePermission):

    def has_permission(self, request, view):
        return request.user.is_authenticated() and request.user.is_superuser

然后

代码语言:javascript
复制
REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'myapp.permissions.SuPermission',
    )
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39854506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档