Skip to main content

Utilities for Django/Python apps

Project description

DBCA utility functions mainly related to Django SSO authentication middleware.

SSO Login Middleware

This will automatically login and create users using headers from an upstream proxy (REMOTE_USER and some others). The logout view will redirect to a separate logout page which clears the SSO session.

Install with pip, then add the following to settings.py (note middleware must come after session and contrib.auth). Also note that the auth backend django.contrib.auth.backends.ModelBackend is in AUTHENTICATION_BACKENDS as this middleware depends on it for retrieving the logged in user for a session (will still work without it, but will reauthenticate the session on every request, and request.user.is_authenticated won't work properly/will be false).

MIDDLEWARE = [
    ...,
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'dbca_utils.middleware.SSOLoginMiddleware'
]

Audit model mixin and middleware

AuditMixin is an extension of Django.db.model.Model that adds a number of additional fields:

  • creator - FK to AUTH_USER_MODEL, used to record the object creator
  • modifier - FK to AUTH_USER_MODEL, used to record who the object was last modified by
  • created - a timestamp that is set on initial object save
  • modified - an auto-updating timestamp (on each object save)

AuditMiddleware is a middleware that will process any request for an object having a creator or modifier field, and automatically set those to the request user via a pre_save signal.

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

dbca-utils-1.1.6.tar.gz (8.2 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