3 pièce(s) jointe(s)
Porblème de filtre des pages
Bonjour,
Je suis dans l’apprentissage de JSF et primefaces, aujourd'hui je veux sécurisé l'accès aux fichiers xhtml du dossier pel de mon application.
Voici la structure de mon projet:
Pièce jointe 503299
1. Classe SessionFiltre
Code:
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
|
package filter;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.StringWriter;
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;
/**
*
* @author ERIWANG
*/
@WebFilter(filterName = "SessionFilter", urlPatterns = {"/*"})
public class SessionFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req1=(HttpServletRequest)request;
HttpServletResponse res1=(HttpServletResponse)response;
HttpSession session=req1.getSession(true);
System.out.println("Current Path:"+req1.getRequestURL());
System.out.println("Session Attribut :"+req1.getSession().getAttribute("userlogin"));
String sessionUser=(String)req1.getSession().getAttribute("userlogin");
String currentPath=req1.getRequestURL().toString();
if(sessionUser!=null){
if(currentPath.contains("Aeropro/authentification.xhtml")){
res1.sendRedirect(req1.getContextPath()+"/pel/index.xhtml");
}else{
chain.doFilter(request, response);
}
}else{
if(currentPath.contains("pel")){
res1.sendRedirect(req1.getContextPath()+"/authentification.xhtml");
}else{
chain.doFilter(request, response);
}
}
}
@Override
public void destroy() {
}
} |
Des qu'on accède après avoir saisi le login et le mot de passe la page suivante s'affiche:
Pièce jointe 503303
Si clic sur le bouton déconnexion, on devrait se retrouver à la première page connexion avec la même mise en forme.
Mais je constate qu'en cliquant sur le bouton déconnexion on revient à la page de connexion sans la mise en forme.
Pièce jointe 503313
Pourquoi ce changement?