--- 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)