summaryrefslogtreecommitdiff
path: root/coip/middleware.py
diff options
context:
space:
mode:
authorLeif Johansson <leifj@sunet.se>2010-12-13 12:11:44 +0100
committerLeif Johansson <leifj@sunet.se>2010-12-13 12:11:44 +0100
commitf8a03922700b0686feb25ce20b1e5b608b6201ea (patch)
treefeb51908347e13854507d89530754e40ba60919d /coip/middleware.py
parent32f7e853e2f5a9d85f5c04e8769da2ac21286fc6 (diff)
middleware for mapping users
Diffstat (limited to 'coip/middleware.py')
-rw-r--r--coip/middleware.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/coip/middleware.py b/coip/middleware.py
new file mode 100644
index 0000000..d612de9
--- /dev/null
+++ b/coip/middleware.py
@@ -0,0 +1,26 @@
+'''
+Created on Dec 13, 2010
+
+@author: leifj
+'''
+from django.core.exceptions import ImproperlyConfigured
+from coip.apps.userprofile.models import UserProfile
+
+class UserMappingMiddleware(object):
+ '''
+ Middleware for supporting merged and mapped user identities
+ '''
+
+ def process_request(self,request):
+ if not hasattr(request,'user'):
+ raise ImproperlyConfigured("Place before RemoteUserMiddleware")
+
+ username = request.META['REMOTE_USER']
+ qs = UserProfile.objects.filter(user__username=username,primary=True)
+ if qs:
+ profile = qs[0]
+ username = profile.identifier
+
+ request.META['REMOTE_USER'] = username
+
+ \ No newline at end of file