我可以限制我的Django Rest Framework只能由超级用户访问吗?
我可以在网址中添加装饰器,以便只有超级用户才能访问网址:
url(r'^api/', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
答案 0 :(得分:1)
如果您想允许任何工作人员访问API,那么很容易
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAdminUser',
)
}
对于超级用户,没有内置的权限类,但我们可以轻松制作一个。
来自rest_framework导入权限
类SuPermission(permissions.BasePermission):
def has_permission(self, request, view):
return request.user.is_authenticated() and request.user.is_superuser
然后
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'myapp.permissions.SuPermission',
)
}