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 :

Utilisatation d'un filtre en JSF


Sujet :

JSF Java

  1. #1
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2010
    Messages : 48
    Par défaut Utilisatation d'un filtre en JSF
    Salut Tous le monde.
    J'ai Un petit Souci concernant l'utilisation d'un filtre afin de restreidre l'accès direct à mes pages JSF de sorte qu'elle ne soit accessible qu'après authentification.
    J'ai ajouter une classe qui implemente javax.servlet.filter.
    voila le contenu de cette classe :
    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
     
     
    package com.project.filter;
     
    import java.io.IOException;
     
    import javax.faces.context.FacesContext;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletContext;
    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;
     
    import com.project.managedbean.AuthentificationBean;
     
     
     
    public class FIlterConnexion implements javax.servlet.Filter {
     
    	protected ServletContext servletContext;
     
    	public void destroy() {
    		// TODO Auto-generated method stub
     
    	}
     
    	public void doFilter(ServletRequest request, ServletResponse response,
    			FilterChain chain) throws IOException, ServletException {
    		// TODO Auto-generated method stub
     
     
    		  HttpServletResponse res = (HttpServletResponse) response;
          	 HttpServletRequest req=(HttpServletRequest)request;
    //	      HttpSession session =
    //	          ((HttpServletRequest)request).getSession(false);
    //	      AuthentificationBean currentUser = (AuthentificationBean)session.getAttribute("LoginBean");
    //	      
    //	      if(currentUser==null){
    //	    	  
    //	    
    //              res.sendRedirect(req.getContextPath() + "/denied.xhtml")  ;
    //	    	  
    //	      }
    //	      else
    //	      {
    //	    	chain.doFilter(request,response);
    //	      }
    //		
     
    		 AuthentificationBean bean =  (AuthentificationBean) FacesContext.getCurrentInstance().getCurrentInstance()
    					.getExternalContext().getSessionMap().get("LoginBean");
    		 String loginSession=bean.getLogin();
    		 if(loginSession==null)
    		 {
    			 res.sendRedirect(req.getContextPath() + "/denied.xhtml")  ; 
     
    		 }
    		 else
    		 {
    			chain.doFilter(request, response);
    		 }
     
    	}
     
    	public void init(FilterConfig filterConfig) throws ServletException {
    		// TODO Auto-generated method stub
     
    		 servletContext = filterConfig.getServletContext();
     
    	}
     
     
    }
    mais au moment ou j'essaie d'accéder à mes pages une erreur apparait :


    java.lang.NullPointerException
    at com.project.filter.FIlterConnexion.doFilter(FIlterConnexion.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)

    De plus comme toutes ma pages sont située dans un dossier pages
    dans webapp,comment je pourrais epargner la page login pour qu'elle ne soit pas intercepté par le filtre???
    J'ai besoin d'un coup de main SVP.

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    poste ton web.xml peut etre que vous avez oublié de configurer le filter dedans

  3. #3
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2010
    Messages : 48
    Par défaut
    Ah non j'ai très bien configurer mon filtre la dedans.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    	 <filter>
            <filter-name>loginFilter</filter-name>
            <filter-class>com.project.filter.FIlterConnexion</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>loginFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/04/2014, 12h17
  2. Réponses: 3
    Dernier message: 16/08/2010, 22h57
  3. Réponses: 5
    Dernier message: 20/11/2008, 12h47
  4. Filtre passe Bande
    Par Mau dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 28/06/2002, 17h03
  5. Probleme de filtre dans bdd
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2002, 10h43

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