Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

=============
Django Expire
=============

A Django application which provides authentication-based session expiration.


To install this application into your project, first add it to your
``INSTALLED_APPS`` setting (and run ``manage.py syncdb``)::

INSTALLED_APPS = (
...
'django_expire',
)

Next, add the expiration middleware to your ``MIDDLEWARE_CLASSES`` setting,
placing it after both the ``session`` and ``auth`` middleware.::

MIDDLEWARE_CLASSES = (
...
'django_expire.middleware.ExpireMiddleware',
)


What it does
============

For every request by an authenticated user, a check is run to ensure the number
of other sessions also belonging to the user does not exceed the allowed
maximum.

This maximum defaults to ``1``, but you can provide a ``EXPIRE_MAX_USERS``
setting to override this default (a setting of ``0`` allows an unlimited
amount of users per session).

If a user has exceeded the number of sessions they are allowed, the excessive
sessions are removed (effectively logging the user out of these now invalidated
sessions).


Changing expiration settings per user
=====================================

The ``django_expire.signals.expire_check`` allows you to change the
expiration settings at a per-user level.

The signal is sent before any tests are run, along with a settings dictionary
containing a single ``max_users`` key. Signal handlers may change the value
of the dictionary to alter the settings for this user.

An example handler (which is not automatically connected) can be found in
``django_expire.signals.superuser_handler which demonstrates allowing
superusers an unlimited number of sessions.

Metadata

Release files for django-expire 1.0-alpha-1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-expire 1.0-alpha-1
File Size Uploaded
django-expire-1.0-alpha-1.tar.gz 3.6 kB Details

Release files / django-expire-1.0-alpha-1.tar.gz

Download URL django-expire-1.0-alpha-1.tar.gz
Size 3.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3a7ff3e6e72fdaef172b8c6c90f4bcfffab90888f7fc771f9a96b59427380460
BLAKE2b-256 checksum
How to use checksums
ced411fbe2ee0d766304eb5b96a96a65edc65dfe023e316ddd866f3ba172f9e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.0.1

1 release file

1.0

1 release file

This release

1.0-alpha-1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page