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]
ppt 文件大小:14.19MB