An open API service indexing awesome lists of open source software.

https://github.com/zsoldosp/django-act-as-auth

Django authentication backend that allows one to login as someone else
https://github.com/zsoldosp/django-act-as-auth

authentication django user-management

Last synced: 4 months ago
JSON representation

Django authentication backend that allows one to login as someone else

Awesome Lists containing this project

README

          

Django Act As Auth Backend
==========================

.. sales pitch start

Django authentication back-end that allows one to login as someone else
(an existing Django user allowed to login) without having to know their
password.

Great for customer support and testing scenarios!

.. sales pitch end

.. image:: https://readthedocs.org/projects/django-act-as-auth/badge/?version=latest
:target: http://django-act-as-auth.readthedocs.org/

.. quickstart start

Quickstart
----------

Install ``djactasauth``::

pip install djactasauth

Add it to your auth backends in ``settings``::

import djactasauth
AUTHENTICATION_BACKENDS = (
...,
'djactasauth.backends.OnlySuperuserCanActAsBackend',
...,
)

Configure the custom login view to take advantage of all the features
in your ``urls.py``::

from django.conf.urls import patterns, url
from djactasauth.views import PrefillLoginView
from testapp.views import whoami

urlpatterns = patterns(
'',
url(r'^login/$', PrefillLoginView.as_view(), {}, 'login'),
)

Then you can log in with username ``your_superuser_name/customer`` and password
``yourpassword``.

The full `documentation `_ including release notes on read the docs.
.. quickstart end

.. contributing start

Contributing
------------

As an open source project, we welcome contributions.

The code lives on `github `_.

Reporting issues/improvements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Please open an `issue on github `_
or provide a `pull request `_
whether for code or for the documentation.

For non-trivial changes, we kindly ask you to open an issue, as it might be rejected.
However, if the diff of a pull request better illustrates the point, feel free to make
it a pull request anyway.

Pull Requests
~~~~~~~~~~~~~

* for code changes

* it must have tests covering the change. You might be asked to cover missing scenarios
* the latest ``flake8`` will be run and shouldn't produce any warning
* if the change is significant enough, documentation has to be provided

* if you are not there already, add yourself to the `Authors `_ file

To trigger packaging, run `make release` on the master branch.

Setting up all Python versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

::

sudo apt-get -y install software-properties-common
sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
for version in 3.9 3.10 3.11 3.12 3.13; do
py=python$version
if ! which ${py}; then
sudo apt-get -y install ${py} ${py}-dev
fi
done
sudo add-apt-repository --remove ppa:deadsnakes/ppa
sudo apt-get update

Code of Conduct
~~~~~~~~~~~~~~~

As it is a Django extension, it follows
`Django's own Code of Conduct `_.
As there is no mailing list yet, please just email one of the main authors
(see ``setup.py`` file)

.. contributing end