Skip to content

Commit

Permalink
Fixed #6082: file-based sessions now verify that SESSION_FILE_PATH is…
Browse files Browse the repository at this point in the history
… a valid storage location, and raise ImproperlyConfigured if not. Thanks, jags78.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@6889 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information
jacobian committed Dec 4, 2007
1 parent 76dd53a commit 602b7bc
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions django/contrib/sessions/backends/file.py
@@ -1,14 +1,23 @@
import os
import tempfile
from django.conf import settings
from django.contrib.sessions.backends.base import SessionBase
from django.core.exceptions import SuspiciousOperation
from django.core.exceptions import SuspiciousOperation, ImproperlyConfigured

class SessionStore(SessionBase):
"""
Implements a file based session store.
"""
def __init__(self, session_key=None):
self.storage_path = settings.SESSION_FILE_PATH
self.storage_path = getattr(settings, "SESSION_FILE_PATH", tempfile.gettempdir())

# Make sure the storage path is valid.
if not os.path.isdir(self.storage_path):
raise ImproperlyConfigured("The session storage path %r doesn't exist. "\
"Please set your SESSION_FILE_PATH setting "\
"to an existing directory in which Django "\
"can store session data." % self.storage_path)

self.file_prefix = settings.SESSION_COOKIE_NAME
super(SessionStore, self).__init__(session_key)

Expand Down

0 comments on commit 602b7bc

Please sign in to comment.