Filtre pour J2EE

Fermé
citron - 1 avril 2013 à 20:51
Bonjour,

Pour mon application J2EE, j'ai crée une page d'authentification. Si le login et le mot de passe existent dans la base, l'utilisateur sera dirigé vers la page d'acceuil.

Pour sécuriser donc les autres pages jsp, j'ai choisi d'utiliser le mécanisme du filtre. Cepandant, mon code ne marche pas: D'abord, Toutes les autres pages jsp sont bloqués (on se redirige vers LoginPage ce qui est bien car ça signifie que mon filtre marche). Le problème c'est que lorsqu'on clique sur le button submit dans la page LoginPage, on reste là aussi.

Un autre point qui a peut être une relation avec le problème , j'ai mis toutes mes pages jsp dans le dossier WEB-CONTENT(ce qui est parfois déconseillé mais bon).

Voiçi le code de mon filtre :

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class RestrictionFilter implements Filter {


public void init( FilterConfig config ) throws ServletException {
}

public void doFilter( ServletRequest req, ServletResponse res, FilterChain chain ) throws IOException,
ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession(false);


if (session == null || session.getAttribute("currentSessionUser") == null) {

request.getRequestDispatcher( "LoginPage.jsp" ).forward( request, response );

} else {
chain.doFilter(req, res); // Logged-in user found, so just continue request.
}




}

public void destroy() {
}
}

Merci.