Foros del Web » Programando para Internet » Python »

el User se pierde tras el login

Estas en el tema de el User se pierde tras el login en el foro de Python en Foros del Web. Hola a todos, estoy añadiendo funciones de authentication a mi web, para ello hago uso de django-registration, que a su vez utiliza django.contrib.auth. He añadido ...
  #1 (permalink)  
Antiguo 07/03/2012, 05:47
Avatar de juankysmith  
Fecha de Ingreso: marzo-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 1
el User se pierde tras el login

Hola a todos,

estoy añadiendo funciones de authentication a mi web, para ello hago uso de django-registration, que a su vez utiliza django.contrib.auth.

He añadido un enlace en la pagina principal de mi web (/home_page/) para que el usuario acceda a la página de login:

Código:
{% if user.is_authenticated %}
     Bienvenido {{ user.username }}
{% else %}
    <a href="{% url django.contrib.auth.views.login %}?next={{request.path}}">Entrar</a>
{% endif %}
Este enlace redirige correctamente a la url /accounts/login/, que carga correctamente el template registration/login.html:

Código:
{% block maincontent %}
<form method="post" action="">{% csrf_token %}
    {{form.as_p}}
    <input name="next" type="hidden" value="/home_page/" />
    <input type="submit" value="Login">
</form>
{% endblock %}
Al pulsar el submit Login se ejecuta la vista django.contrib.auth.views.login, la cual he comprobado que autentica al usuario correctamente, creando la instancia User con los datos introducidos en el formulario.

El problema viene cuando redirecciona a /home_page/ ya que una vez en la vista que carga la home_page, si consulto el valor de request.user, me devuelve una instancia de AnonymousUser y, como consecuencia de esto, la función user.is_authenticated() siempre devuelve False.

¿Saben que puedo estar haciendo mal para que el User no se haya guardado correctamente en el request?
Información: Las cookies están activas en el navegador.

Última edición por juankysmith; 07/03/2012 a las 05:56 Razón: falta informacion
  #2 (permalink)  
Antiguo 26/03/2012, 06:10
Avatar de juankysmith  
Fecha de Ingreso: marzo-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 1
Respuesta: el User se pierde tras el login

Resulta que el usuario no estaba 'authenticado', había creado un registration backend que sustituía al que viene por defecto y no había incluido la función authenticate()

Etiquetas: django, login, autenticacion, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:59.