Bonjour,
Sut une appli gwt je voudrais pouvoir deconnecter automatiquement les utilisateurs dont le sessionhttp a expirée.
Pour ça j'ai mis dans la session une variable "user" qui contiens l'utilisateur connecté et si cette variable est null je voudrais rediriger l'utilisateur vers une servlet "deconnect" qui se charge de fermer toutes les connexions.
Pour réalisé ça, je mets un filtre sur mon remote servlet et donc à chaque appel il y a le test sur l'utilisateur qui se fait puis un sendRedirect le cas échéant.
Le Code qui gère ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) arg0; HttpServletResponse response = (HttpServletResponse) arg1; HttpServletResponseWrapper wrapper = new HttpServletResponseWrapper(response); System.out.println("DeconnectFilter.doFilter()"); if(request.getSession().getAttribute("user") == null) { System.out.println("DeconnectFilter.doFilter() REDIRECTION !!!!!"); wrapper.sendRedirect("deconnect?forcedeconnect=1"); } arg2.doFilter(arg0, wrapper); }
Je vois bien le message "REDIRECTION" mais après plus rien et l'utilisateur n'est pas redirigé mais je n'ai aucune exception, rien...
Comment je peux rediriger mon utilisateur?
Merci d'avance...
P.S. j'utilise un 'HttpServletResponseWrapper' car je l'ai vu sur des forums mais j'ai aussi essayer avec le HttpResponse mais c'est exactement la même chose...
Partager