Django 中间件 使用

Django 中间件 使用

  • 在应用之下创建 middleware.py

    from django.utils.deprecation import MiddlewareMixin
    from utils.jwt import dangerous
    from django.core.cache import cache
    from django.http import JsonResponse
    
    class LoginMiddleWare(MiddlewareMixin):
      # 请求之前执行
        def process_request(self,request):
            if request.path_info not in ['/app02/login/']:
                token = (request.META.get('HTTP_TOKEN'))
                tmp = dangerous.decry(token)
                if not tmp:
                    print(Response({"status":9000,"msg":"token不合法"}))
                key = "token_" + str(tmp.get('uid',0))
                tmp = cache.get(key)
                if not cache.get(key):
                    print('token 不合法')
                    return JsonResponse({"status":9000,"msg":"token不合法"})
  • 注册到settings.py 中的 MIDDLEWARE中

    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'corsheaders.middleware.CorsMiddleware',
        'django.middleware.common.CommonMiddleware',
        # 'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
        'app02.middleware.LoginMiddleWare'
    ]

猜你喜欢

转载自www.cnblogs.com/wuxiaoshi/p/11749771.html