Log in a user without requiring 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. Gzip decorator by SmileyChris 4 years, 9 months ago
  2. Nice form errors by SmileyChris 3 years, 7 months ago
  3. view by view basic authentication decorator by Scanner 6 years ago
  4. login on activation with django-registration by morgan 3 years, 2 months ago
  5. Support for permissions for anonymous users in django ModelBackend by jb 1 year, 6 months ago

Comments

(Forgotten your password?)