123456789101112131415161718192021 |
- from django.shortcuts import redirect
- from django.utils.deprecation import MiddlewareMixin
- from . import auth
- from .views import get_protected_namespace
- from .views.auth import login
- class AdminAuthMiddleware(MiddlewareMixin):
- def process_view(self, request, view_func, view_args, view_kwargs):
- request.admin_namespace = get_protected_namespace(request)
- if request.admin_namespace:
- if not auth.is_admin_session(request):
- auth.close_admin_session(request)
- if request.resolver_match.url_name == 'index':
- return login(request)
- else:
- return redirect('%s:index' % request.admin_namespace)
- else:
- auth.update_admin_session(request)
|