Changeset 4f37035


Ignore:
Timestamp:
May 29, 2010, 9:14:48 PM (16 years ago)
Author:
Alex Dehnert <adehnert@…>
Branches:
master, fysm-4-1, space-access, stable, stage, test-hooks
Children:
fae9c8c
Parents:
a2457ff
git-author:
Alex Dehnert <adehnert@…> (05/29/10 21:10:59)
git-committer:
Alex Dehnert <adehnert@…> (05/29/10 21:14:48)
Message:

Add scripts_login, to do cert login if possible

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asadb/mit/__init__.py

    rd7a9b78 r4f37035  
    11from django.contrib.auth.middleware import RemoteUserMiddleware
    22from django.contrib.auth.backends import RemoteUserBackend
     3from django.contrib.auth.views import login
     4from django.contrib.auth import REDIRECT_FIELD_NAME
     5from django.http import HttpResponseRedirect
    36from django.contrib import auth
    47from django.core.exceptions import ObjectDoesNotExist
     8import settings
    59
    610def zephyr(msg, clas='remit', instance='log', rcpt='adehnert',):
     
    4145            print "Failed to retrieve autocreated group"
    4246        return user
     47
     48def scripts_login(request, **kwargs):
     49    if request.META['HTTP_HOST'] == 'localhost':
     50        return login(request, **kwargs)
     51    elif request.META['SERVER_PORT'] == '444':
     52        if request.user.is_authenticated():
     53            # They're already authenticated --- go ahead and redirect
     54            if 'redirect_field_name' in kwargs:
     55                redirect_field_name = kwargs['redirect_field_names']
     56            else:
     57                from django.contrib.auth import REDIRECT_FIELD_NAME
     58                redirect_field_name = REDIRECT_FIELD_NAME
     59            redirect_to = request.REQUEST.get(redirect_field_name, '')
     60            if not redirect_to or '//' in redirect_to or ' ' in redirect_to:
     61                redirect_to = settings.LOGIN_REDIRECT_URL
     62            return HttpResponseRedirect(redirect_to)
     63        else:
     64            return login(request, **kwargs)
     65    else:
     66        # Move to port 444
     67        host = request.META['HTTP_HOST'].split(':')[0]
     68        redirect_to = "https://%s:444%s" % (host, request.META['REQUEST_URI'], )
     69        return HttpResponseRedirect(redirect_to)
Note: See TracChangeset for help on using the changeset viewer.