Skip to main content

Django middleware to enforce login before accessing certain URL's

Project description

AuthMiddleware

A Django middleware to enforce user login before accessing certain views.

image

image

Setup

You can install django-authmiddleware from pip using

pip install django-authmiddleware

and then add it to your middleware using:

MIDDLEWARE = [
    ...
    'AuthMiddleware.middleware.AuthRequiredMiddleware',
    ...
]

Make sure you add the trailing comma or you might get a ImproperlyConfigured Exception.

Configuration

Configure the middleware's behaviour in your Django project's settings. The middleware expects a AUTH_SETTINGS setting within Django settings to work properly. You must set the following keys within AUTH_SETTINGS:

  • LOGIN_URL
  • DEFAULT_REDIRECT_URL
  • LOCK_URLS
  • REDIRECT_AFTER_LOGIN

LOGIN_URL

A URL name that is used for login in your django project. Defaults to login.

AUTH_SETTINGS = {
    ...
    "LOGIN_URL" : "example"
    ...
}

DEFAULT_REDIRECT_URL

A URL name to which users are redirect if they try to access an invalid URLs. Defaults to None.

When set to None, no redirects take place and error is generated for invalid URLs.

AUTH_SETTINGS = {
    ...
    "DEFAULT_REDIRECT_URL" : "example"
    ...
}

LOCK_URLS

A set of URL names to which access is restricted. Access to these URLs is given only on successful login. Default to empty set {}.

AUTH_SETTINGS = {
    ...
    "LOCK_URLS" : {
        "example-1",
        "example-2",
        "example-3",
        ...
        }
    ...
}

REDIRECT_AFTER_LOGIN

If set to True, user is redirected to original page after successful login. Adds ?next parameter to URL request. Defaults to True.

AUTH_SETTINGS = {
    ...
    "REDIRECT_AFTER_LOGIN" : False,
    ...
}

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

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_authmiddleware-0.0.4.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

django_authmiddleware-0.0.4-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file django_authmiddleware-0.0.4.tar.gz.

File metadata

  • Download URL: django_authmiddleware-0.0.4.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for django_authmiddleware-0.0.4.tar.gz
Algorithm Hash digest
SHA256 031e0358f5e3182a177288f191b7190f667a5d4ae224feb72730052fc2fc38a1
MD5 c9db69b834b8d295015f682b0d059a7e
BLAKE2b-256 b0b3a03961d1b53bb89a53a728d19260aa0204d7ca6037489702a66f532d7a11

See more details on using hashes here.

File details

Details for the file django_authmiddleware-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: django_authmiddleware-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for django_authmiddleware-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e1cc668279da33fc33ad97a5c68ceb166647612fa30f288919b4f75473453644
MD5 20a381a857625740a139849e05b8a52f
BLAKE2b-256 ac31b5be324e8d5eb4ce5bb16c26e9cbf85cff01c068cf02d780f5f705356635

See more details on using hashes here.

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