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

Installation

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

pip install django-su
  1. 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',
)
  1. Add SuBackend to AUTHENTICATION_BACKENDS :

AUTHENTICATION_BACKENDS = (
    ...
    'django_su.backends.SuBackend',
)
  1. 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.

You need only Django 1.4 or above to run that. It might run on older versions but that is not tested.

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 = "/dashboard/"

# A function to specify the perms that the user must have can use django_su
# Default: None
SU_LOGIN_CALLBACK = "example.utils.su_login_callback"

# A function to override the django.contrib.auth.login(request, user)
# function so you can 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.

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.4.8.tar.gz (8.6 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