Redirect to login on reverse proxy

This commit is contained in:
Jens Langhammer 2019-03-21 15:15:01 +01:00
parent 801b8a1e59
commit b5306e4a94
1 changed files with 4 additions and 2 deletions

View File

@ -7,6 +7,7 @@ import certifi
import urllib3 import urllib3
from django.core.cache import cache from django.core.cache import cache
from django.utils.http import urlencode from django.utils.http import urlencode
from django.views.generic import RedirectView
from revproxy.exceptions import InvalidUpstream from revproxy.exceptions import InvalidUpstream
from revproxy.response import get_django_response from revproxy.response import get_django_response
from revproxy.utils import encode_items, normalize_request_headers from revproxy.utils import encode_items, normalize_request_headers
@ -14,7 +15,7 @@ from revproxy.utils import encode_items, normalize_request_headers
from passbook.app_gw.models import ApplicationGatewayProvider from passbook.app_gw.models import ApplicationGatewayProvider
from passbook.core.models import Application from passbook.core.models import Application
from passbook.core.policies import PolicyEngine from passbook.core.policies import PolicyEngine
from passbook.core.views.utils import PermissionDeniedView from passbook.lib.config import CONFIG
IGNORED_HOSTNAMES_KEY = 'passbook_app_gw_ignored' IGNORED_HOSTNAMES_KEY = 'passbook_app_gw_ignored'
LOGGER = getLogger(__name__) LOGGER = getLogger(__name__)
@ -215,7 +216,8 @@ class ApplicationGatewayMiddleware:
def dispatch(self, request): def dispatch(self, request):
"""Build proxied request and pass to upstream""" """Build proxied request and pass to upstream"""
if not self.check_permission(): if not self.check_permission():
return PermissionDeniedView.as_view()(request) to_url = 'https://%s/?next=%s' % (CONFIG.get('domains')[0], request.get_full())
return RedirectView.as_view(url=to_url)(request)
self._request_headers = self.get_request_headers() self._request_headers = self.get_request_headers()