IP logging middleware

This commit is contained in:
2011-03-07 16:49:27 +00:00
parent 1ef7bd9081
commit c64ad370f4
4 changed files with 231 additions and 3 deletions

View File

@@ -34,5 +34,19 @@ class IGBMiddleware(object):
if request.META.get(header, None):
setattr(request, map, request.META.get(header, None))
from sso.models import SSOUserIPAddress
from datetime import datetime
class IPTrackingMiddleware(object):
"""
Middleware to track user's IPs and insert them into the database
"""
def process_request(self, request):
if request.user and not request.user.is_anonymous():
ip, created = SSOUserIPAddress.objects.get_or_create(user=request.user, ip_address=request.META['REMOTE_ADDR'])
if not created:
ip.last_seen = datetime.utcnow()
ip.save()