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 filtres avec JSF


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 32
    Points : 28
    Points
    28
    Par défaut Problème de filtres avec JSF
    Bonjour à tous, je suis vraiment coincé avec un problème lié aux filtres.
    En j'ai mis en place une classe LoginFilter comme décrit ci-dessous:
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <div style="margin-left:40px">
      package gct.dao.servlets;
     
    import java.io.IOException;
     
    import javax.faces.application.ResourceHandler;
    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.annotation.WebFilter;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
     
    /**
     * Servlet Filter implementation class LoginFilter
     */
    @WebFilter("/*")
    public class LoginFilter implements Filter {
    	private static final String AJAX_REDIRECT_XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
    			+ "<partial-response><redirect url=\"%s\"></redirect></partial-response>";
    	public void destroy() {
     
    	}
    	@Override
    	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);
    		   String loginURI=request.getContextPath()+"login.xhtml";
    		   boolean loggedIn=(session!=null)&&(session.getAttribute("user")!=null);
    		   boolean loginRequest=request.getRequestURI().equals(loginURI);
    		   boolean resourceRequest=request.getRequestURI().startsWith(request.getContextPath()+ResourceHandler.RESOURCE_IDENTIFIER+ "/");
    		   boolean ajaxRequest = "partial/ajax".equals(request.getHeader("Faces-Request"));
    		  if(loggedIn||loginRequest||resourceRequest){
    			  if (!resourceRequest) { // Prevent browser from caching restricted resources.  
    				  response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
    				  response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
    				  response.setDateHeader("Expires", 0); // Proxies.
    			   }
    			  chain.doFilter(request, response);
    		  }
    		  else if(ajaxRequest){
    			  response.setContentType("text/xml");
    			  response.setCharacterEncoding("UTF-8");
    			  response.getWriter().printf(AJAX_REDIRECT_XML, loginURI);
    		  }
    		  else{
    			  response.sendRedirect(loginURI);
    		  }
    	}
     
    	public void init(FilterConfig config) throws ServletException {
     
    	}
    }
    </div>
    En fait dès que je mets la ligne @WebFilter("/*") et que je tente d'accéder au lien localhost:8088/GestionTaches/user.xhtml alors le navigateur me redirige vers ce lien qui est localhost:8088/GestionTacheslogin.xhtml qui me pose problème.
    Je sollicite votre aide cordialement merci!

  2. #2
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    mets plutot ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String loginURI=request.getContextPath()+"/login.xhtml";
    Eric

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 32
    Points : 28
    Points
    28
    Par défaut Problème de filtres avec JSF
    Merci bien ta solution marche bien!Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Lazarus] Problème de filtre avec SQLQuery et numérique
    Par Patrick25300 dans le forum Lazarus
    Réponses: 6
    Dernier message: 30/11/2015, 18h03
  2. [QtGui] Problème de filtres avec QFileDialog
    Par Renoct dans le forum PyQt
    Réponses: 1
    Dernier message: 22/12/2011, 19h45
  3. problème <c:if avec jsf
    Par wiss85 dans le forum JSF
    Réponses: 3
    Dernier message: 17/11/2011, 21h53
  4. Problème de filtre sur date avec ADOQuery
    Par lingli dans le forum Bases de données
    Réponses: 12
    Dernier message: 30/04/2006, 15h40

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