From 6ee7a9368645c4e01de831bfdfc92ef925e9d68b Mon Sep 17 00:00:00 2001 From: eliott Date: Wed, 26 Dec 2007 11:20:24 -0800 Subject: initial stab at an authentication middleware --- lib/sitelogin.py | 13 +++++++++++++ settings.py | 3 +++ 2 files changed, 16 insertions(+) create mode 100644 lib/sitelogin.py diff --git a/lib/sitelogin.py b/lib/sitelogin.py new file mode 100644 index 00000000..3edec7c1 --- /dev/null +++ b/lib/sitelogin.py @@ -0,0 +1,13 @@ +from django.contrib.auth.views import logout_then_login, login +from django.conf import settings + +class SiteLogin: + def __init__(self): + self.login_path = settings.LOGIN_URL + def process_request(self, request): + if request.user.is_anonymous() and request.path != self.login_path: + if request.POST: + return login(request) + else: + return HttpResponseRedirect('%s?next=%s' % (self.login_path, request.path)) + diff --git a/settings.py b/settings.py index 75ea18a9..c2f779d6 100644 --- a/settings.py +++ b/settings.py @@ -40,6 +40,9 @@ ADMIN_MEDIA_PREFIX = '/admin-media/' # URL to send users when they don't have sufficient privileges BADPRIVS_URL = '/denied/' +# login url +LOGIN_URL = '/login/' + # List of callables that know how to import templates from various sources. TEMPLATE_LOADERS = ( 'django.template.loaders.filesystem.load_template_source', -- cgit v1.2.3-2-g168b