首页 > 其他 > 详细

装饰器实现JWT校验认证

时间:2021-09-10 05:46:57      阅读:14      评论:0      收藏:0      [点我收藏+]
def logging_check(func):
    def wrap(request, *args,**kwargs):
        token = request.META.get(‘HTTP_AUTHORIZATION‘)
        if not token:
            result = {‘code‘:403,‘error:‘please login‘)
            return JsonResponse(result)
        except Exception as e:
            print(‘jwt decode error is %s‘%e)
            result = {‘code‘:403,‘error‘:‘please login‘}
            return JsonResponse(result)
        username = res[‘username‘]
        user = User.object.get(username=username)
        # request 传给了视图函数,最好起名有个性,比如myuser,如果是user可能会出莫名其妙的错误
        # 在视图函数中直接request.myuser拿来用就可以了
        request.myuser = user

        return func(request, *args, **kwargs)
    return wrap

method_decorator 可以将函数装饰器转换成方法装饰器。在某个视图类中的post或者put方法上挂上去用。
技术分享图片

装饰器实现JWT校验认证

原文:https://www.cnblogs.com/kopok/p/15242318.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!