Loading...
Important Notice - Forums is archived

To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Product icon
TUTORIAL

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.

Reload aplicacion redirige incorrectamente

Matias Gutierrez
6 years ago Sep 09, 2015 3:26pm
omar alles
6 years ago Sep 10, 2015 8:39am
Matias Gutierrez
6 years ago Sep 10, 2015 12:52pm
omar alles
6 years ago Sep 10, 2015 4:53pm

Matías,

Perdona pero estoy hablando del código sin  probar, tan solo de la idea que tengo y eso quizá me lleve a  alguna imprecisión. 

Creo que una vez finalizada la sesión sólo deberías decidir a dónde el cliente hace un  GET para sustituir el contenido que tiene en su navegador, que ya no es valido. 

Entiendo que si deseas recargar la app  podrías hacer

Page.getCurrent().setLocation("/")

Dices que eso no te recarga la vista de login?

En la implementación de tu UI tienes el método init() donde inicializas la app.
Ahí seguramente estás definiendo el navigator, al que añades las vistas accesibles de un usuario para navegar.
Ahí quizá accedes a la request para comprobar si el usuario aporta credenciales adecuadas en esa petición inicial. 

Si el cliente no aporta credenciales es dentro del propio init() donde decides navegar a la vista de credenciales. Cómo navegas a la vista de credenciales? Haciendo un getPage().setUriFragment("!"+ViewCredencial.NAME)
Dado que el navigator implementa un UriFragmentChangedListener, bastaria con preocuparse de modificar el uri fragment que el navigator va a ser invocado.

Si el cliente tiene credenciales dentro del propio init puedes navegar a la vista principal: getPage().setUriFragment("!"+ViewPrincipal.NAME)

Y finalmente en  la vista principal tienes un boton de logout con un listener que llama a tu metodo logout en el que:
1.cierras sesion.
2. fuerzas un get a "/"

Y vuelta a empezar ...

Saludos

omar alles
6 years ago Sep 10, 2015 4:54pm
Matias Gutierrez
6 years ago Sep 11, 2015 12:25pm

Omar. Mil gracias!!!

Page.getCurrent().setLocation("/") hizo el truco.
Habia leido la entrada en vaadin del manejo de sesiones, pero era claro que algo me faltaba.

Mil gracias por la ayuda! Saludos y buen finde semana!