Forge Pro

forge-impersonate

A key feature for providing customer support is to be able to view the site through their account. With impersonate installed, you can impersonate a user by finding them in the Django admin and clicking the "Impersonate" button.

Then with the staff toolbar enabled, you'll get a notice of the impersonation and a button to exit:

Installation

To impersonate users, you need the app, middleware, and URLs:

# settings.py
INSTALLED_APPS = INSTALLED_APPS + [
  "forgeimpersonate",
]

MIDDLEWARE = MIDDLEWARE + [
  "forgeimpersonate.ImpersonateMiddleware",
]
# urls.py
urlpatterns = [
    # ...
    path("impersonate/", include("forgeimpersonate.urls")),
]

Settings

By default, all staff users can impersonate other users.

# settings.py
IMPERSONATE_ALLOWED = lambda user: user.is_superuser or user.is_staff

Note: Regardless of who is allowed to be an impersonator, nobody can impersonate a superuser!