Bonjour,

J'aimerai lorsque que la session d'un utilisateur est expirée, lors de sa prochaine action, le rediriger vers la page de login.

Le tout marche très bien sauf lorsqu'il s'agit d'un appel Ajax... Ma page de login s'affiche alors dans la balise <div> qui devait être mise à jour.

Pour gérer mes sessions j'utilise simplement un filtre et la méthode doFilter :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
public void doFilter(final ServletRequest request, final ServletResponse response,final FilterChain chain) throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest) request;
    HttpServletResponse res = (HttpServletResponse) response;
 
    // la page de login est exclue du test
    if (!entryURLs.contains(req.getServletPath())) {
 
      if (!req.isRequestedSessionIdValid()) {
        res.sendRedirect("./login.do");
        return;
      }
    }
 
    chain.doFilter(request, response);
  }
Pour l'Ajax j'utilise Prototype et la méthode Ajax.Updater.

Merci d'avance à ceux qui passeraient par là !