From 28284d79a266e190912800a98769f1bd0cf8c733 Mon Sep 17 00:00:00 2001
From: Branson Stephens <stephenb@uwm.edu>
Date: Fri, 16 Nov 2012 10:17:54 -0600
Subject: [PATCH] Reverted to Kerberos auth and wiped out local changes to
 django.wsgi.

---
 django.wsgi                |  8 ++---
 gracedb/middleware/auth.py | 64 ++++++++++++++++++--------------------
 settings/default.py        | 18 +++--------
 3 files changed, 37 insertions(+), 53 deletions(-)

diff --git a/django.wsgi b/django.wsgi
index 284114891..4adfa98a0 100644
--- a/django.wsgi
+++ b/django.wsgi
@@ -6,11 +6,9 @@ os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
 # Sandbox libs here, if required.
 #
 
-#sys.path.append('/home/lars/wsgi-sandbox/lib/python2.6')
-#sys.path.append('/home/lars/wsgi-sandbox/lib/python2.6/site-packages')
-sys.path.append('/home/branson/sandbox/lib/python2.6')
-sys.path.append('/home/branson/sandbox/lib/python2.6/site-packages')
-sys.path.append('/home/branson/gracedbdev')
+sys.path.append('/home/lars/wsgi-sandbox/lib/python2.6')
+sys.path.append('/home/lars/wsgi-sandbox/lib/python2.6/site-packages')
+sys.path.append('/home/gracedb/graceproj')
 
 import django.core.handlers.wsgi
 application = django.core.handlers.wsgi.WSGIHandler()
diff --git a/gracedb/middleware/auth.py b/gracedb/middleware/auth.py
index 9e83a85f5..0e2fb2d41 100644
--- a/gracedb/middleware/auth.py
+++ b/gracedb/middleware/auth.py
@@ -19,42 +19,38 @@ class LigoAuthMiddleware:
         ligouser = None
         user = None
 
+        principal = request.META.get('REMOTE_USER')
+        certdn = request.META.get('SSL_CLIENT_S_DN')
+        issuer = request.META.get('SSL_CLIENT_I_DN')
+
+        if not certdn:
+            try:
+                # mod_python is a little off...
+                # SSL info is in request._req
+                # Need to try/except because _req is
+                # not defined in WSGI request.
+                certdn = request._req.ssl_var_lookup ('SSL_CLIENT_S_DN')
+                issuer = request._req.ssl_var_lookup ('SSL_CLIENT_I_DN')
+                pass
+            except:
+                pass
+
         queryResult = []
-        if not request.user.is_anonymous():
-            # Scott's middleware has set the user aready using shib.
-            # Let's add some more attributes.
-            principal = request.user.username
-            request.user.name = nameFromPrincipal(principal)
+        if principal:
+            # Kerberos.
             queryResult = User.objects.filter(principal=principal)
-        else:
-            # authenticate with certs
-            certdn = request.META.get('SSL_CLIENT_S_DN')
-            issuer = request.META.get('SSL_CLIENT_I_DN')
-
-            if not certdn:
-                try:
-                    # mod_python is a little off...
-                    # SSL info is in request._req
-                    # Need to try/except because _req is
-                    # not defined in WSGI request.
-                    certdn = request._req.ssl_var_lookup ('SSL_CLIENT_S_DN')
-                    issuer = request._req.ssl_var_lookup ('SSL_CLIENT_I_DN')
-                    pass
-                except:
-                    pass
-
-            if certdn and certdn.startswith(issuer):
-                # proxy.
-                # Proxies can be signed by proxies.
-                # Each level of "proxification" causes the subject
-                # to have a '/CN=[0-9]+ appended to the signers subject.
-                # These must be removed to discover the original identity's
-                # subject DN.
-                issuer = proxyPattern.match(issuer).group(1)
-                queryResult = User.objects.filter(dn=issuer)
-            elif certdn:
-                # cert in browser.
-                queryResult = User.objects.filter(dn=certdn)
+        elif certdn and certdn.startswith(issuer):
+            # proxy.
+            # Proxies can be signed by proxies.
+            # Each level of "proxification" causes the subject
+            # to have a '/CN=[0-9]+ appended to the signers subject.
+            # These must be removed to discover the original identity's
+            # subject DN.
+            issuer = proxyPattern.match(issuer).group(1)
+            queryResult = User.objects.filter(dn=issuer)
+        elif certdn:
+            # cert in browser.
+            queryResult = User.objects.filter(dn=certdn)
 
         if queryResult:
             ligouser = queryResult[0]
diff --git a/settings/default.py b/settings/default.py
index acc9a0829..3a93f89bb 100644
--- a/settings/default.py
+++ b/settings/default.py
@@ -54,9 +54,8 @@ SKYALERT_DESCRIPTION   = "LIGO / Virgo trigger"
 SKYALERT_SUBMITTERS = ['Patrick Brady', 'Brian Moe']
 
 
-#GRACEDB_DATA_DIR = "/mnt/gracedb-web/data"
+GRACEDB_DATA_DIR = "/mnt/gracedb-web/data"
 #GRACEDB_DATA_DIR = "/mnt/gracedb-web-temp/data"
-GRACEDB_DATA_DIR = "/home/branson/fake_data"
 
 # Latency histograms.  Where they go and max latency to bin.
 LATENCY_REPORT_DEST_DIR = "/home/gracedb/data/latency"
@@ -142,8 +141,7 @@ TEMPLATE_LOADERS = (
     #'django.template.loaders.filesystem.load_template_source',
     # replaced by...
     'django.template.loaders.filesystem.Loader',
-#    'django.template.loaders.app_directories.load_template_source',
-    'django.template.loaders.app_directories.Loader',
+    'django.template.loaders.app_directories.load_template_source',
 #     'django.template.loaders.eggs.load_template_source',
 )
 
@@ -160,23 +158,15 @@ TEMPLATE_CONTEXT_PROCESSORS = (
     'middleware.debug.LigoDebugContext',
 )
 
-AUTHENTICATION_BACKENDS = (
-    'gracedb.middleware.auth.LigoAuthBackend',
-    'ligodjangoauth.LigoShibbolethAuthBackend',
-    'django.contrib.auth.backends.ModelBackend',
-)
-
-SHIB_AUTHENTICATION_SESSION_INITIATOR = 'https://moe.phys.uwm.edu/Shibboleth.sso/Login'
+AUTHENTICATION_BACKENDS = ('gracedb.middleware.auth.LigoAuthBackend',)
 
 MIDDLEWARE_CLASSES = [
     'middleware.accept.AcceptMiddleware',
+    'gracedb.middleware.auth.LigoAuthMiddleware',
     'middleware.cli.CliExceptionMiddleware',
     'django.middleware.common.CommonMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
-    'django.contrib.messages.middleware.MessageMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
-    'ligodjangoauth.LigoShibbolethMiddleware',
-    'gracedb.middleware.auth.LigoAuthMiddleware',
 ]
 
 ROOT_URLCONF = 'urls'
-- 
GitLab