Managing unique and timed sessions in Django
utsessions allow the features of timed and unique sessions for an user account in Django.
What does it do ?
utsessions is a middleware that makes all opened user sessions unique.
When an user session is opened, the user account can’t be reused before a certain amount of time. After this time, if the user account is reused, the first session is closed and a second one is opened.
A session can also be automaticaly closed after a choosen time.
This kind of behavior is useful for websites providing access to data by unique user account.
utsessions was written to be easily :
- Installed in your projects, by simply registering the middleware.
- Extended thanks to his design in object: each component can be removed or reused.
- Configured, with the settings.py file which allows different behaviors.
Download the latest packaged version at http://code.google.com/p/django-ut-sessions/ and unpack it.
You can also perform a Subversion checkout to get the latest code.
svn checkout http://django-ut-sessions.googlecode.com/svn/trunk/ django-ut-sessions
Inside the package use this command line to install the package into your PYTHONPATH.
$> python setup.py install
Now simply add this following line into your MIDDLEWARE_CLASSES section.
It must be after the SessionMiddleware and AuthentifcationMiddleware like this :
MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'utsessions.middleware.UTSessionMiddleware', )
If you want to define the period of a session before being logged out, set a value in seconds to SESSION_LIMIT_SECONDS in your settings.py
A session can be released for another user before a certain amount of time, set to default at 300 seconds. To change this value define SESSION_TOKEN_LIMIT_SECONDS. If set to 0, no lock will be created.
Put utsessions into your INSTALLED_APPS section and run :
$> python manage.py test utsessions
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size utsessions-0.2dev_r6-py2.4.egg (9.2 kB)||File type Egg||Python version 2.4||Upload date||Hashes View hashes|
|Filename, size utsessions-0.2dev-r6.tar.gz (4.1 kB)||File type Source||Python version None||Upload date||Hashes View hashes|