mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-13 22:32:15 +00:00
53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
|
|
class IGBMiddleware(object):
|
|
"""
|
|
Middleware to detect the EVE IGB
|
|
"""
|
|
|
|
def process_request(self, request):
|
|
|
|
request.is_igb = False
|
|
request.is_igb_trusted = False
|
|
|
|
header_map = [
|
|
('HTTP_EVE_SERVERIP', 'eve_server_ip'),
|
|
('HTTP_EVE_CHARNAME', 'eve_charname'),
|
|
('HTTP_EVE_CHARID', 'eve_charid'),
|
|
('HTTP_EVE_CORPNAME', 'eve_corpname'),
|
|
('HTTP_EVE_CORPID', 'eve_corpid'),
|
|
('HTTP_EVE_ALLIANCENAME', 'eve_alliancename'),
|
|
('HTTP_EVE_ALLIANCEID', 'eve_allianceid'),
|
|
('HTTP_EVE_REGIONNAME', 'eve_regionid'),
|
|
('HTTP_EVE_CONSTELLATIONNAME', 'eve_constellationname'),
|
|
('HTTP_EVE_SOLARSYSTEMNAME', 'eve_systemname'),
|
|
('HTTP_EVE_STATIONNAME,' 'eve_stationname'),
|
|
('HTTP_EVE_STATIONID,' 'eve_stationid'),
|
|
('HTTP_EVE_CORPROLE,' 'eve_corprole'),
|
|
]
|
|
|
|
if request.META.has_key('HTTP_EVE_TRUSTED'):
|
|
request.is_igb = True
|
|
if request.META.get('HTTP_EVE_TRUSTED') == 'Yes':
|
|
request.is_igb_trusted = True
|
|
|
|
for header, map in header_map:
|
|
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'].trim())
|
|
if not created:
|
|
ip.last_seen = datetime.utcnow()
|
|
ip.save()
|