IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Problème de redirection avec un Filter


Sujet :

JSF Java

  1. #1
    Membre actif
    Profil pro
    aucune
    Inscrit en
    Juillet 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Juillet 2007
    Messages : 134
    Points : 281
    Points
    281
    Par défaut Problème de redirection avec un Filter
    Bonsoir ou bonjour c'est selon d'où vous lisez ce post ,

    J'ai un "gros" problème avec JSF et les Filtres, en fait j'essaye de faire une redirection dans un filtre si l'utilisateur ne s'est pas loggé.

    je fais donc
    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
    17
    18
    19
    20
    // if the filter was never initialized
            if (filterConfig == null)
            {
                return;
            }
     
            HttpServletRequest req = (HttpServletRequest)request;
            boolean logged = false;
     
            if(logged)
            {
                chain.doFilter(request, response);
            }
            else
            {
                if( ! req.getRequestURI().contains("login"))
                    filterConfig.getServletContext().getRequestDispatcher("/webui/login.jspx").forward(request, response);
                else
                    chain.doFilter(request, response);
            }
    mais dès que je lance l'application, tomcat entre dans une boucle infini avec des throw exception
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    java.lang.StackOverflowError
        at org.apache.catalina.connector.Response.isAppCommitted(Response.java:324)
        at org.apache.catalina.connector.ResponseFacade.isCommitted(ResponseFacade.java:303)
        at org.apache.catalina.connector.ResponseFacade.addHeader(ResponseFacade.java:487)
        at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:158)
        at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:158)
        at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:158)
        at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:158)
        at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:158)
        at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:158)
        at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:158)
        at javax.servlet.http.HttpServletResponseWrapper.addHeader(HttpServletResponseWrapper.java:158)
    je ne comprends pas, pourtant je test bien si la page courante n'est pas la page vers laquelle je forward afin de ne pas entrer dans une boucle

    Si vous avez une idée, merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    getRequestURI() et toutes les méthodes similaire sur HttpServletRequest renvoient des information relative à la requête du client, ce qui n'a rien à voir avec la manière dont les requêtes sont traitées en interner via les forward.

    Le plus simple, dans ton web.xml, c'est de ne pas passer par ton filter lors d'un forward. Utilise la directive dispatcher:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      <filter-mapping>
        <filter-name>MyFilter</filter-name>
        <url-pattern>*.jspx</url-pattern>
        <dispatcher>REQUEST</dispatcher>
      </filter-mapping>
    Si tu ne met pas dispatcher explicite, je pense que c'est supposé l'équivalent de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>INCLUDE</dispatcher>

Discussions similaires

  1. Problème de redirection avec Mozilla
    Par p2w.walas dans le forum Langage
    Réponses: 4
    Dernier message: 01/10/2009, 06h11
  2. [Debian] Problème de redirection avec unzip
    Par byloute dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 15/01/2008, 16h56
  3. problème de redirection avec target=_top
    Par michaeljeru dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/06/2007, 23h13
  4. [PHP-JS] Problème de redirection avec header
    Par pierrot10 dans le forum Langage
    Réponses: 6
    Dernier message: 02/09/2006, 18h01
  5. Problème de redirection avec window.location
    Par Kosti dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/11/2004, 18h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo