Django_rest-framework授权

系统内置的权限

AllowAny 允许所有用户
IsAuthenticated 仅通过认证的用户
IsAdminUser 仅管理员用户
IsAuthenticatedOrReadOnly 认证的用户可以完全操作,否则只能get读取

对应的Serializer

from rest_framework import serializers

from App.models import User


class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model=User
        fields = "__all__"

创建类函数

class MyPermisson(BasePermission):
    # 对视图授权
    def has_permission(self, request, view):
        print("权限限制")
        # 返回True就是有权限
        # 返回False就是没权限
        # return False

        # 认证通过就有权限
        return request.user and isinstance(request.user,User)

配置settings,全局的权限认证

REST_FRAMEWORK = {
	'DEFAULT_AUTHENTICATION_CLASSES': (        
		'App.authentications.MyAuthentication',       ),    
	"DEFAULT_PERMISSION_CLASSES": 
["app.permission.SuperPerssion","app.permission.StaffPerssion" ] 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值