[pyar] Django login

Sebastian Bassi sebastian.bassi en globant.com
Jue Mar 31 15:27:19 ART 2011


Hace ratos que estoy dando vueltas con un tema de login en Django.
Para debuguearlo me gustaria "forzar el login", o sea, hardcodear en
algun lado que el usuario con id=N (sea N el nro que quiero), está
logueado. No se cual es el bit que checkea Django para saber si la
sesión está activa, digamos, logueada.
En el manual dice que basta con invocar login, pero no me anda, por
eso quiero hacer esto, quiero bypasear esa funcion o mejor aun, saber
exactamente que cosa es lo que se checkea para saber si el usuario
esta logueado (no autenticado, sino, logueado).


Funcion login.

def login(request, user):
    """
    Persist a user id and a backend in the request. This way a user doesn't
    have to reauthenticate on every request.
    """
    if user is None:
        user = request.user
    # TODO: It would be nice to support different login methods, like
signed cookies.
    user.last_login = datetime.datetime.now()
    user.save()

    if SESSION_KEY in request.session:
        if request.session[SESSION_KEY] != user.id:
            # To avoid reusing another user's session, create a new, empty
            # session if the existing session corresponds to a different
            # authenticated user.
            request.session.flush()
    else:
        request.session.cycle_key()
    request.session[SESSION_KEY] = user.id
    request.session[BACKEND_SESSION_KEY] = user.backend
    import pdb; pdb.set_trace()
    if hasattr(request, 'user'):
        request.user = user



More information about the pyar mailing list