src/egonomy/auth/backends.py
changeset 284 33183949c9b8
parent 273 a8dcacb29110
--- a/src/egonomy/auth/backends.py	Tue Apr 01 14:39:26 2014 +0200
+++ b/src/egonomy/auth/backends.py	Tue Apr 01 17:24:31 2014 +0200
@@ -9,6 +9,7 @@
 
 from django.conf import settings
 from django.contrib.auth import get_user_model
+from django.http.request import HttpRequest
 
 from egonomy.auth import clean_egonomy_username, get_http_session
 
@@ -20,8 +21,15 @@
     Authenticate against egonomy.
     """
 
-    def authenticate(self, username=None, password=None):
+    def authenticate(self, username=None, password=None, **kwargs):
+
+        request_meta = getattr(kwargs.get('request', HttpRequest()), 'META', {})
 
+        logger.debug("Egonomy backend : REMOTE_ADDR : %r - REMOTE_HOST : %r" % (request_meta.get('REMOTE_ADDR',''), request_meta.get('REMOTE_HOST','')))
+
+        if request_meta.get('REMOTE_ADDR', None) and request_meta.get('REMOTE_ADDR', None) == getattr(settings, "EGONOMY_SERVER_IP", ''):
+            logger.debug("Egonomy backend : IP is %s - return None" % getattr(settings, "EGONOMY_SERVER_IP", ''))
+            return None
         
         User = get_user_model()
         login_url = getattr(settings, "EGONOMY_LOGIN_URL", None)