VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • Django REST Framework之权限组件

权限控制是如何实现的?

一般来说,先有认证才有权限,也就是用户登录后才能判断其权限,未登录用户给他一个默认权限。

Django接收到一个请求,首先经过权限的检查,如果通过检查,拥有访问的权限,则予以放行,进入到视图处理。如果没有通过检查,不会进入视图层,直接返回前端相应信息。

使用权限控制

权限控制类:

1
2
3
4
5
6
7
8
9
10
class MyPermission(BasePermission):
    message = "您没有权限"
 
    def has_permission(self, request, view):
        # 判断用户是否有权限,逻辑自己定义。返回值为True或False,代表拥有权限或没有权限
        user_obj = request.user
        if user_obj.type == 3:
            return False
        else:
            return True

views.py:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from rest_framework.views import APIView
from utils.permission import MyPermission
 
class TestView(APIView):
    permission_classes = [MyPermission, ] # 使用该权限控制,可以同时使用多个权限控制类
  
    def get(self, request, *args, **kwargs):
        pass
  
      
     def post(self, request, *args, **kwargs):
        pass
  
        '''
        等等一系列的视图功能方法
        '''