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.

Compatibility

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)

Setup

Install from PyPI:

pip install django_always_authenticated

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

MIDDLEWARE = (
    ...
    'always_authenticated.middleware.AlwaysAuthenticatedMiddleware',
)

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.

Configuration

This middleware reads these settings:

ALWAYS_AUTHENTICATED_USERNAME

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

ALWAYS_AUTHENTICATED_USER_DEFAULTS

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

ALWAYS_AUTHENTICATED_DEBUG_ONLY

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
py.test

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

pip install tox
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 and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page