summaryrefslogtreecommitdiff
path: root/coip/middleware.py
diff options
context:
space:
mode:
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