Я собираюсь поставить бета-версию сайта, над которым я работаю в Интернете. Для ограничения доступа необходимо иметь бета-код. Сайт написан на django.
Я не хочу менять фундаментальную систему Auth, чтобы разместить бета-код, и мне все равно, что безопасность бета-кода одета в железо, просто что это значительный камень преткновения.
Как мне это сделать? Это довольно большой проект, поэтому добавление кода ко всем представлениям далеко не идеальное.
Это решение работает хорошо. Класс 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))