middleware.py 761 B

12345678910111213141516171819
  1. from django.conf import settings
  2. from django.shortcuts import redirect
  3. from misago.admin.auth import is_admin_session, update_admin_session
  4. from misago.admin.views import get_protected_namespace
  5. from misago.admin.views.auth import login
  6. class AdminAuthMiddleware(object):
  7. def process_view(self, request, view_func, view_args, view_kwargs):
  8. request.admin_namespace = get_protected_namespace(request)
  9. if request.admin_namespace:
  10. if not is_admin_session(request):
  11. if request.resolver_match.url_name == 'index':
  12. return login(request)
  13. else:
  14. return redirect('%s:index' % request.admin_namespace)
  15. else:
  16. update_admin_session(request)