From 07889c13a63eeb3e8a73f1e02a21227def3ae548 Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Tue, 16 Aug 2005 22:54:05 +0000 Subject: Fixed #1 -- Added anonymous session support via middleware and request.session. Removed the former request.session, which wasn't being used anyway. Removed auth.Session model. See the BackwardsIncompatibleChanges wiki page for IMPORTANT notes on code you'll have to change and a DB table you'll have to create. git-svn-id: http://code.djangoproject.com/svn/django/trunk@518 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/core/handlers/modpython.py | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) (limited to 'django/core/handlers/modpython.py') diff --git a/django/core/handlers/modpython.py b/django/core/handlers/modpython.py index d7d7c768b1..623db959b2 100644 --- a/django/core/handlers/modpython.py +++ b/django/core/handlers/modpython.py @@ -95,29 +95,17 @@ class ModPythonRequest(httpwrappers.HttpRequest): self._raw_post_data = self._req.read() return self._raw_post_data - def _load_session_and_user(self): - from django.models.auth import sessions - from django.conf.settings import AUTH_SESSION_COOKIE - session_cookie = self.COOKIES.get(AUTH_SESSION_COOKIE, '') - try: - self._session = sessions.get_session_from_cookie(session_cookie) - self._user = self._session.get_user() - except sessions.SessionDoesNotExist: - from django.parts.auth import anonymoususers - self._session = None - self._user = anonymoususers.AnonymousUser() - - def _get_session(self): - if not hasattr(self, '_session'): - self._load_session_and_user() - return self._session - - def _set_session(self, session): - self._session = session - def _get_user(self): if not hasattr(self, '_user'): - self._load_session_and_user() + from django.models.auth import users + try: + user_id = self.session[users.SESSION_KEY] + if not user_id: + raise ValueError + self._user = users.get_object(pk=user_id) + except (AttributeError, KeyError, ValueError, users.UserDoesNotExist): + from django.parts.auth import anonymoususers + self._user = anonymoususers.AnonymousUser() return self._user def _set_user(self, user): @@ -130,7 +118,6 @@ class ModPythonRequest(httpwrappers.HttpRequest): META = property(_get_meta) REQUEST = property(_get_request) raw_post_data = property(_get_raw_post_data) - session = property(_get_session, _set_session) user = property(_get_user, _set_user) class ModPythonHandler(BaseHandler): -- cgit v1.3