Login

Log in a user without requiring credentials

Author:
SmileyChris
Posted:
June 2, 2009
Language:
Python
Version:
1.0
Tags:
authentication user login
Score:
4 (after 4 ratings)

Rather than requiring a dummy backend (which I have seen some people do), use this method to log in a user without requiring their credentials.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
from django.conf import settings


def login_user(request, user):
    """
    Log in a user without requiring credentials (using ``login`` from
    ``django.contrib.auth``, first finding a matching backend).

    """
    from django.contrib.auth import load_backend, login
    if not hasattr(user, 'backend'):
        for backend in settings.AUTHENTICATION_BACKENDS:
            if user == load_backend(backend).get_user(user.pk):
                user.backend = backend
                break
    if hasattr(user, 'backend'):
        return login(request, user)

More like this

  1. view by view basic authentication decorator by Scanner 7 years, 9 months ago
  2. LoginRequiredMixin by slink 3 years, 9 months ago
  3. Registering Facebook user by username before loggin in by zjor 1 year, 8 months ago
  4. Anonymous required decorator by Motanelu 5 years, 1 month ago
  5. apache authentication via cookies by sean 8 years ago

Comments

Please login first before commenting.