Hola , tengo una duda acerca de las sesiones y redireccionamiento en distintos tabs , uso restfulauthentication. el caso es el siguiente: 1. El usuario esta logueado, este realiza una accion en la aplicacion que le envia un correo con un link especifico a un recurso de la aplicacion, este recurso esta protegido y redirige al login si es que el usuario no ha iniciado sesion. 2. el usuario va a su correo y hace clic en el link , esto abre un nuevo tab del navegador y este es redirigido al login aunque tenga sesion en el otro tab, y tiene que loguearse otra vez. mi duda es si esto se da por el :protect_from_forgery o alguna otra cosa de rails o es un comportamiento habitual del navegador <http://localhost:3000/agents/miguel-michelson-martinez/projects/2/invitations> saludos Atte. Miguel Michelson Martinez
on 2009-06-18 08:57
on 2009-06-18 09:29
de acuerdo a la documentación ( http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html) sólo se utiliza en las peticiones de formulario y peticiones ajax, pero no en las peticiones por GET por lo que no deberÃa afectarle. tampoco comentas qué navegador estás utilizando, asà que en principio se supone que la sesión se mantiene abierta hasta que se cierre totalmente el navegador(en firefox aunque sólo tengas la ventana de descargas abierta, se sigue manteniendo). desconozco si iexplorer hace lo mismo, pero supongo que será fácil de comprobar(ve a cualquier sitio que necesite autenticación y abre la misma url en una pestaña nueva) luego está chrome, que se supone que cada pestaña son procesos totalmente independientes, asà que en este sà que me parecerÃa más normal el comportamiento que describes saludos 2009/6/18 Miguel Michelsongs <miguelmichelson@gmail.com>
on 2009-06-18 09:45
On 18/6/09 08:56, Miguel Michelsongs wrote: > 1. El usuario esta logueado, este realiza una accion en la aplicacion > que le envia un correo con un link especifico a un recurso de la > aplicacion, este recurso esta protegido y redirige al login si es que > el usuario no ha iniciado sesion. > > 2. el usuario va a su correo y hace clic en el link , esto abre un > nuevo tab del navegador y este es redirigido al login aunque tenga > sesion en el otro tab, y tiene que loguearse otra vez. > No veo relación con el :protect_from_forgery aquí. De todas formas, es fácil desactivarlo (temporalmente, no te recomiendo dejarlo así) para comprobar que no sea ese el problema. Lo que te está pasando es que la acción que se dispara cuando el usuario hace clic en el enlace del correo no comprueba correctamente la existencia de una sesión activa, con lo que te calza incondicionalmente la redirección al login. No sé si esto tiene que ver con la implementación del navegador (entiendo que Chrome aunque cada pestaña sea un proceso distinto de alguna manera todas las pestañas compartirán la información de sesión de alguna manera) Para perseguir esto yo pondría un punto de ruptura en la acción de marras y comprobaría el estado de la sesión del usuario tras hacer clic en el link. Saludos.
on 2009-06-18 16:55
si , la verdad es que esta raro, muchas gracias Borja , Juan por ayudar haciendo otras pruebas hago lo siguiente. en Firefox 1) inicio session 2) voy al correo y hago click en el enlace del mail , esto me lleva al recurso protegido en un nuevo tab del browser que me redirige al login. 3) me logueo en el tab abierto e inicio sesion 4) voy al correo otra vez , click en el link y entro correctamente al recurso protegido con mi session abierta en el otro tab :P ahora si que no entiendo nada, según este comportamiento supongo que puede ser algo del navegador. ¿ a nadie le ha pasado esto? saludo Atte. Miguel Michelson Martinez --------------------------------------- www.artenlinea.com 2009/6/18 Juan Lupion <juan@lupion.net>
on 2009-06-18 17:00
El 18 de junio de 2009 16:54, Miguel Michelsongs<miguelmichelson@gmail.com> escribió: > > ahora si que no entiendo nada, según este comportamiento supongo que puede > ser algo del navegador. ¿ a nadie le ha pasado esto? Puede ser que el dominio que hayas usado para loguearte y el dominio del link del email no sea exactamente el mismo. Es decir puede que estés usando 127.0.0.1 en un lado y 0.0.0.0 en otro.. o localhost.. o algo así. La cookie (donde vive la sesión) es por dominio.. y alguna vez incluso por url completa. f.
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.