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)
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})
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})