diff options
Diffstat (limited to 'coip/middleware.py')
-rw-r--r-- | coip/middleware.py | 26 |
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 |