码迷,mamicode.com
首页 > 其他好文 > 详细

rest-framework的权限组件

时间:2018-10-07 12:59:16      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:color   ret   mis   back   elf   models   else   username   rest   

权限组件

写在开头:

首先要在models表中添加一个用户类型的字段:

class User(models.Model):
    name=models.CharField(max_length=32)
    pwd=models.CharField(max_length=32)
    type_choice=((1,"普通用户"),(2,"VIP"),(3,"SVIP"))
    user_type=models.IntegerField(choices=type_choice,default=1)

 

1.局部权限:

#######################权限类#############################33
class SVIPPermission(object):
    message="只有超级用户拥有访问权限!"
    def has_permission(self,request,view):
        username=request.user
        user_type=User.objects.filter(name=username).first().user_type
        if user_type ==3:
            return True
        else:
            return False

views.py中只需要导入一下即可:

from app01.utils import SVIPPermission
from rest_framework import viewsets
class AuthorModelView(viewsets.ModelViewSet):
    permission_classes = [SVIPPermission]
    queryset=Author.objects.all()
    serializer_class=AuthorModelSerializers

2.全局权限:

settings中进行配置:

REST_FRAMEWORK={
    "DEFAULT_AUTHENTICATION_CLASSES":["app01.utils.TokenAuth",],
    "DEFAULT_PERMISSION_CLASSES":["app01.utils.SVIPPermission",],

}

 

rest-framework的权限组件

标签:color   ret   mis   back   elf   models   else   username   rest   

原文地址:https://www.cnblogs.com/geogre123/p/9749787.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!