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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-always-authenticated-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f111220d27cc1951f965afc63ffa42e716e1ca7f84ab5aa010bd73c0fde4e76 |
|
MD5 | 38b75e81d29d19528078078a846da4ee |
|
BLAKE2b-256 | 9c69b083b81ab31692412388fbd3a799156891b6f7d27e95c192caba7ada5a31 |