Skip to main content

A Django middleware that ensures every request has anauthenticated user.

Project description

A middleware that ensures that a request always has an authenticated user.

If the request doesn’t have an authenticated user, it logs in a default user. If the default user doesn’t exist, it is created.


This middleware has been tested with these versions of Django:

  • 1.7

  • 1.8

  • 1.9

  • 1.10

  • master (at the time of the release)


Install from PyPI:

pip install django_always_authenticated

Add to MIDDLEWARE (MIDDLEWARE_CLASSES for Django <1.10) in settings file:


As a security safeguard, the middleware will raise an ImproperlyConfiguredException when running in production mode (DEBUG=False). To run the middleware in production, set ALWAYS_AUTHENTICATED_DEBUG_ONLY to False.


This middleware reads these settings:


A string with the name of the default user, defaults to 'user'.


A dict with additional default values to set when creating the user.


Set to False to allow running with DEBUG=False.

Example project

There is a very single example project that demonstrates the middleware in the directory example_project.

Running Tests

To run the tests, install the requirements and run py.test:

pip install -r requirements.txt

You can also use tox to run the tests with all supported versions of Python and Django:

pip install tox

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-always-authenticated-0.1.0.tar.gz (2.9 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page