drf 验证接口权限

解决方案

  • 引用 BasePermission
from rest_framework.permissions import BasePermission
  • 检查用户是否登录
# 检查用户是否登录
class CheckUserIsLoginPermission(BasePermission):

    def has_permission(self, request, view):
        token = request.META.get('HTTP_TOKEN')
        if token == '123456':
            return True
        return False
  • 视图实现
from rest_framework.views import APIView
from rest_framework.response import Response
from django_redis import get_redis_connection
from utils.helper import CheckUserIsLoginPermission


# 购物车
class CartView(APIView):
    permission_classes = [CheckUserIsLoginPermission,]

    def __init__(self):
        self.conn = get_redis_connection()


    def get(self,request):
        data = self.conn.hgetall('cart_2')
        return Response({"msg":"","data":data})
  • 请求数据
  1. token故意输错

  2. token输入正确

posted @   巫小诗  阅读(273)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示