Inicio de Sesión dividida

48 views
Skip to first unread message

IvanaEmi

unread,
May 6, 2013, 8:06:36 PM5/6/13
to web2py-...@googlegroups.com
Buenas buenas:

Estoy intentando hacer un login dividido, es decir de acuerdo al usuario que direccione a distintas paginas principales .

auth.settings.register_next = URL('generar/user', args='login')

 Con esto todos los usuarios se me direccionan a esa función, necesito especificar aunque sea dos accesos distintos, uno para los usuarios y otro para un usuario "Administrador".

¿Como sería?..Gracias por su ayuda!!

samuel bonilla

unread,
May 6, 2013, 9:29:56 PM5/6/13
to web2py-...@googlegroups.com




--
Has recibido este mensaje porque estás suscrito al grupo "web2py-usuarios" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a web2py-usuari...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Alan Etkin

unread,
May 7, 2013, 8:33:07 AM5/7/13
to web2py-...@googlegroups.com
Y además podés usar auth.settings.register_onaccept, que recibe una función con el formulario como argumento después de actualizar la base de datos. Esto te debería permitir hacer algo así en el modelo:

def redirigir_registro(form):
    if auth.has_membership(role="administrador"):
        redirect(URL(...))
    else:
        redirect(URL(...))

auth.settings.register_onaccept = redirigir_registro

IvanaEmi

unread,
May 7, 2013, 4:26:41 PM5/7/13
to web2py-...@googlegroups.com
Alan, es lo que había leído y no comprendía.. Te muestro mi modelo porque hice la función, y cuando se logea el administrador, me sigue direccionado a otra pagina(la misma que para los otros usuarios) no a la que deseo.

def redirigir_registro(form):
    if auth.has_membership(role="administrador"): //Tengo el rol creado en el grupo, el resto de los usuarios no pertenecen a ningún grupo
        redirect(URL('enlace1')
    else:
        redirect(URL('enlace2'))

auth.settings.register_onaccept = redirigir_registro

auth.settings.login_next = URL('generarpedido') //A ESTA PAGINA ME DIRECCIONA
auth.settings.logout_next = URL('index')
auth.settings.profile_next = URL('index')
auth.settings.retrieve_username_next = URL('index')
auth.settings.retrieve_password_next = URL('index')
auth.settings.change_password_next = URL('index')
auth.settings.request_reset_password_next = URL('user', args='login')
auth.settings.reset_password_next = URL('user', args='login')
auth.settings.verify_email_next = URL('user', args='login')

Alan Etkin

unread,
May 7, 2013, 5:15:20 PM5/7/13
to web2py-...@googlegroups.com
Alan, es lo que había leído y no comprendía.. Te muestro mi modelo porque hice la función, y cuando se logea el administrador, me sigue direccionado a otra pagina(la misma que para los otros usuarios) no a la que deseo.

Creo que en el caso de autenticación (no registro), necesitás asociar la función a auth.settings.login_onaccept además de register_onaccept , porque a menos que en ese momento se cree el usuario no debería redirigir. Además puede llegar a haber un problema con el orden en que se ejecutan los eventos (no sé si se redirige primero al url de login_next o tiene precedencia la función establecida en settings.)

Reply all
Reply to author
Forward
0 new messages