This is a piece of middleware that reports the logged-in user back to Apache. This should cause the logged-in user to be present in the apache access log.
Put it in
This has been tested with mod_python but does not work with wsgi.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
class LogRemoteUserMiddleware(object): """ Middleware for logging the session user in Apache. This sets the username information so that Apache is aware of the logged in user and can log the username in the access_log (just like when the user is logged in with basic authentication). """ def process_request(self, request): # AuthenticationMiddleware is required so that request.user exists if not hasattr(request, 'user'): raise ImproperlyConfigured( "LogRemoteUserMiddleware requires AuthenticationMiddleware" " to be in MIDDLEWARE_CLASSES before LogRemoteUserMiddleware.") # set the REMOTE_USER variable if a user is logged in if request.user.is_authenticated(): # specific for mod_python if isinstance(request, ModPythonRequest): request._req.user = str(request.user.username)
More like this
- Add custom fields to the built-in Group model by jmoppel 1 month, 2 weeks ago
- Month / Year SelectDateWidget based on django SelectDateWidget by pierreben 5 months ago
- Python Django CRUD Example Tutorial by tuts_station 5 months, 2 weeks ago
- Browser-native date input field by kytta 7 months ago
- Generate and render HTML Table by LLyaudet 7 months, 1 week ago