Exemplo n.º 1
0
def su_reset_view(request, next_page=None,
        redirect_field_name=REDIRECT_FIELD_NAME):
    reset_to_real_user(request)
    if redirect_field_name in request.REQUEST:
        next_page = request.REQUEST[redirect_field_name]

    return safe_redirect(request, next_page)
Exemplo n.º 2
0
def su_reset_view(request,
                  next_page=None,
                  redirect_field_name=REDIRECT_FIELD_NAME):
    reset_to_real_user(request)
    if redirect_field_name in request.REQUEST:
        next_page = request.REQUEST[redirect_field_name]

    return safe_redirect(request, next_page)
Exemplo n.º 3
0
 def process_view(self, request, view_func, view_args, view_kwargs):
     if not hasattr(request, 'user'):
         raise ImproperlyConfigured(
             "The ForceDnsIpAuthMiddleware middleware requires the"
             " 'django.contrib.auth.middleware.AuthenticationMiddleware'"
             " earlier in MIDDLEWARE.")
     if not request.user.is_anonymous and \
             not hasattr(request.user, 'backend'):
         raise ImproperlyConfigured(
             "The ForceDnsIpAuthMiddleware middleware requires the"
             " 'oioioi.base.middleware.AnnotateUserBackendMiddleware'"
             " earlier in MIDDLEWARE.")
     if not hasattr(request, 'contest'):
         raise ImproperlyConfigured(
             "The ForceDnsIpAuthMiddleware middleware requires the"
             " 'oioioi.contests.middleware.CurrentContestMiddleware'"
             " earlier in MIDDLEWARE.")
     if not request.contest:
         return
     if not hasattr(request, 'contest_exclusive'):
         raise ImproperlyConfigured(
             "The ForceDnsIpAuthMiddleware middleware requires the"
             " 'oioioi.contextexcl.middleware.ExclusiveContestsMiddleware'"
             " earlier in MIDDLEWARE.")
     if not request.contest_exclusive:
         return
     if not request.contest.controller.is_onsite():
         return
     if not request.user.is_authenticated:
         return
     backend_path = request.user.backend
     if backend_path != 'oioioi.ipdnsauth.backends.IpDnsBackend':
         if is_under_su(request):
             reset_to_real_user(request)
         else:
             auth.logout(request)
         return TemplateResponse(request, 'ipdnsauth/access_blocked.html',
                                 {'auth_backend': backend_path})
Exemplo n.º 4
0
 def process_view(self, request, view_func, view_args, view_kwargs):
     if not hasattr(request, 'user'):
         raise ImproperlyConfigured(
             "The ForceDnsIpAuthMiddleware middleware requires the"
             " 'django.contrib.auth.middleware.AuthenticationMiddleware'"
             " earlier in MIDDLEWARE_CLASSES.")
     if not request.user.is_anonymous and \
             not hasattr(request.user, 'backend'):
         raise ImproperlyConfigured(
             "The ForceDnsIpAuthMiddleware middleware requires the"
             " 'oioioi.base.middleware.AnnotateUserBackendMiddleware'"
             " earlier in MIDDLEWARE_CLASSES.")
     if not hasattr(request, 'contest'):
         raise ImproperlyConfigured(
             "The ForceDnsIpAuthMiddleware middleware requires the"
             " 'oioioi.contests.middleware.CurrentContestMiddleware'"
             " earlier in MIDDLEWARE_CLASSES.")
     if not request.contest:
         return
     if not hasattr(request, 'contest_exclusive'):
         raise ImproperlyConfigured(
             "The ForceDnsIpAuthMiddleware middleware requires the"
             " 'oioioi.contextexcl.middleware.ExclusiveContestsMiddleware'"
             " earlier in MIDDLEWARE_CLASSES.")
     if not request.contest_exclusive:
         return
     if not request.contest.controller.is_onsite():
         return
     if not request.user.is_authenticated:
         return
     backend_path = request.user.backend
     if backend_path != 'oioioi.ipdnsauth.backends.IpDnsBackend':
         if is_under_su(request):
             reset_to_real_user(request)
         else:
             auth.logout(request)
         return TemplateResponse(request, 'ipdnsauth/access_blocked.html',
                                 {'auth_backend': backend_path})