提交 cda22a6f 编写于 作者: baltery's avatar baltery

add demo mode middleware

上级 8f4d8b1c
# ~*~ coding: utf-8 ~*~
import os
import pytz
from django.utils import timezone
from django.utils.deprecation import MiddlewareMixin
from django.shortcuts import HttpResponse
DEMO_MODE = os.environ.get("DEMO_MODE", "")
SAFE_URL = ["/users/login",]
class TimezoneMiddleware(MiddlewareMixin):
......@@ -12,3 +18,9 @@ class TimezoneMiddleware(MiddlewareMixin):
timezone.activate(pytz.timezone(tzname))
else:
timezone.deactivate()
class DemoMiddleware(MiddlewareMixin):
def process_request(self, request):
if DEMO_MODE and request.method not in ["GET", "HEAD"] and request.path not in SAFE_URL:
return HttpResponse("Demo mode, only get request accept", 403)
......@@ -79,6 +79,7 @@ MIDDLEWARE = [
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'jumpserver.middleware.TimezoneMiddleware',
'jumpserver.middleware.DemoMiddleware',
]
ROOT_URLCONF = 'jumpserver.urls'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册