Я собираюсь разместить в сети бета-версию сайта, над которым я работаю. Он должен иметь бета-код, чтобы ограничить доступ. Сайт написан на джанго.
Я не хочу менять основную систему аутентификации для приспособления к бета-коду, и мне совершенно безразлично, что безопасность бета-кода покрыта железом, просто это серьезный камень преткновения.
Как мне это сделать? Это довольно большой проект, поэтому добавление кода в каждое представление далеко от идеала.
Это решение хорошо работает. Класс Middleware, который я закончил с этим:
from django.http import HttpResponseRedirect
class BetaMiddleware(object):
"""
Require beta code session key in order to view any page.
"""
def process_request(self, request):
if request.path != '/beta/' and not request.session.get('in_beta'):
return HttpResponseRedirect('%s?next=%s' % ('/beta/', request.path))