首页 > 其他 > 详细

rest-framework的权限组件

时间:2018-10-07 12:42:04      阅读:181      评论:0      收藏:0      [点我收藏+]

权限组件

写在开头:

首先要在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的权限组件

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!