Python REST 框架中的权限管理
权限管理
权限控制允许限制用户对视图和数据对象的访问。
视图访问权限
在执行视图的 dispatch() 方法前,会判断视图的访问权限。
数据对象访问权限
在通过 get_object() 获取特定对象时,会判断对象的访问权限。
配置默认权限
可以在配置文件中设置默认的权限管理类,例如:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
)
}
如果未指明,则使用默认配置:
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.AllowAny',
)
在视图中设置权限
也可以在具体的视图中通过 permission_classes 属性来设置权限,例如:
from rest_framework.viewsets import ModelViewSet
from .serializers import BookSerializer
from .models import BookInfo
class BookModelViewSet(ModelViewSet):
"""图书管理视图"""
serializer_class = BookSerializer
def get_queryset(self):
return BookInfo.objects.all()
# permission_classes = [IsAuthenticated]
14.19MB
文件大小:
评论区