mirror of https://github.com/jumpserver/jumpserver
add demo mode middleware
parent
8f4d8b1c02
commit
cda22a6f0d
|
@ -1,8 +1,14 @@
|
|||
# ~*~ 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'
|
||||
|
|
Loading…
Reference in New Issue