Login

Log in a user without requiring credentials

Author:
SmileyChris
Posted:
June 2, 2009
Language:
Python
Version:
1.0
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. codigo alto nivel by MrRocklion 1 week, 1 day ago
  2. Load template from specific app by Krzysiek555 4 weeks ago
  3. PostgreSQL JSON subqueries by dolamroth 1 month ago
  4. "Magic Link" Management Command by webology 6 months ago
  5. Closest ORM models to a latitude/longitude point by simonw 6 months ago

Comments

Please login first before commenting.