Skip to main content

Login as any user from the Django admin interface, then switch back when done

Project description

Login as any user from the Django admin interface, then switch back when done

Authored by Adam Charnock, and some great contributors.

https://img.shields.io/pypi/v/django-su.svg https://img.shields.io/pypi/dm/django-su.svg https://img.shields.io/github/license/adamcharnock/django-su.svg https://img.shields.io/travis/adamcharnock/django-su.svg https://coveralls.io/repos/adamcharnock/django-su/badge.svg?branch=develop https://landscape.io/github/adamcharnock/django-su/develop/landscape.svg?style=flat

Installation

  1. Either checkout django_su from GitHub, or install using pip :

    pip install django-su
  2. Add django_su to your INSTALLED_APPS. Make sure you put it before django.contrib.admin :

    INSTALLED_APPS = (
        ...
        'django_su',  # must be before ``django.contrib.admin``
        'django.contrib.admin',
    )
  3. Add SuBackend to AUTHENTICATION_BACKENDS :

    AUTHENTICATION_BACKENDS = (
        ...
        'django_su.backends.SuBackend',
    )
  4. Update your urls.py file :

    urlpatterns = patterns('',
        url(r'^su/', include('django_su.urls')),
        ...
    )

And that should be it!

Please see example application. This application is used to manually test the functionalities of this package. This also serves as a good example.

django-su requires Django 1.4 or above. Older versions may work but are untested.

Configuration (optional)

There are various optional configuration options you can set in your settings.py

# URL to redirect after the login.
# Default: "/"
SU_LOGIN_REDIRECT_URL = "/"

# URL to redirect after the logout.
# Default: "/"
SU_LOGOUT_REDIRECT_URL = "/"

# A function specifying the permissions a user requires in order
# to use the django-su functionality.
# Default: None
SU_LOGIN_CALLBACK = "example.utils.su_login_callback"

# A function to override the django.contrib.auth.login(request, user)
# view, thereby allowing one to set session data, etc.
# Default: None
SU_CUSTOM_LOGIN_ACTION = "example.utils.custom_login"

Usage

Go and view a user in the admin interface and look for a new “Login as” button in the top right.

Once you have su’ed into a user, you can get exit back into your original user by navigating to /su/ in your browser.

Notify superuser when connected with another user

This option warns the superuser when working with another user as initally logged in. To activate this option perform:

  1. Add django_su.context_processors.is_su to TEMPLATE_CONTEXT_PROCESSORS :

    TEMPLATE_CONTEXT_PROCESSORS = (
        ...
        'django_su.context_processors.is_su',
    )
  2. In your base.html include su/is_su.html snippet :

    {% include "su/is_su.html" %}

Credits

This app was put together by Adam Charnock, but was largely based on ideas, code and comments at:

django-su is packaged using seed.

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-su-0.5.0.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

django_su-0.5.0-py2.py3-none-any.whl (15.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-su-0.5.0.tar.gz.

File metadata

  • Download URL: django-su-0.5.0.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for django-su-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f6c24db6ae8278ab8b7f704013f8f66a72dbea77db023897df8b2df2188663e7
MD5 fab381b5cf3e96416857ee834c8679b1
BLAKE2b-256 5a1a6bf8aeadbde94d171772fa13edd0634a4bf83c32733e34e2e9b4741fca2d

See more details on using hashes here.

Provenance

File details

Details for the file django_su-0.5.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_su-0.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ebe72cddfd127c57bf803bd93d8a4b511f75ddd423a74499b30e8d961c8de63b
MD5 e251ecb23a21e0d2d978fc547b1ad595
BLAKE2b-256 b9c1320bd8252aa4e485e7fba07bd26fc5f4662787f199a37c041a66568b9fff

See more details on using hashes here.

Provenance

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