Metadata-Version: 2.1
Name: dbca-utils
Version: 1.1.6
Summary: Utilities for Django/Python apps
Home-page: https://github.com/dbca-wa/dbca-utils
Author: Department of Biodiversity, Conservation and Attractions
Author-email: asi@dbca.wa.gov.au
Maintainer: Department of Biodiversity, Conservation and Attractions
Maintainer-email: asi@dbca.wa.gov.au
License: Apache License, Version 2.0
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.
        
Keywords: django,middleware,utility
Platform: UNKNOWN
Classifier: Framework :: Django
Classifier: Framework :: Django :: 2.2
Classifier: Framework :: Django :: 3.0
Classifier: Framework :: Django :: 3.2
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/markdown
