Tema: Duda Filtro
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/05/2013, 05:03
Avatar de rgf1987
rgf1987
 
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 5 meses
Puntos: 22
Duda Filtro

Muy buenas,

he añadido un filtro en mi aplicacion web para que nose permita el acceso a ciertas zonas de la web si no estas correctamente logueado, el filtro funciona pero no entiendo muy bien porque me pasa dos veces, cuando en realidad deberia pasarme solo una.
El codigo es el siguiente:

Código JAVA:
Ver original
  1. public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
  2.         // TODO Auto-generated method stub
  3.         // place your code here    
  4.         HttpServletResponse httpResponse = ((HttpServletResponse)response);
  5.         HttpServletRequest httpRequest = ((HttpServletRequest) request);
  6.         UsuarioVO usuario = (UsuarioVO) httpRequest.getSession().getAttribute("usuario");
  7.        
  8.         if(usuario!=null && usuario.getNivelUsuario()==4){
  9.             System.out.println("EL FILTRO ESTA FUNCIONANDO");
  10.             chain.doFilter(request, response);
  11.         }
  12.         else{
  13.             httpResponse.sendRedirect(httpRequest.getContextPath()+"/gestionErrores.htm");
  14.         }
  15.        
  16.     }

Y este es el mapeo en el web.xml de mi aplicacion:

Código XML:
Ver original
  1. <filter>
  2.     <filter-name>FiltroAccesoAutores</filter-name>
  3.     <filter-class>filters.FiltroAccesoAutores</filter-class>
  4.    </filter>
  5.     <filter-mapping>
  6.         <filter-name>FiltroAccesoAutores</filter-name>
  7.         <url-pattern>/privado/*</url-pattern>
  8.     </filter-mapping>

Y este al controlador que accede si se pasa el filtro correctamente, que me retorna a una JSP:

Código JAVA:
Ver original
  1. @Controller
  2. public class ControladorGestionErrores {
  3.     @RequestMapping("gestionErrores")
  4.     public String gestionErrores(ModelMap modelo) throws IOException {
  5.         System.out.println("LLEGAMOS AL CONTROLADOR");
  6.         return "errorAcceso";      
  7.     }
  8. }

cuando llamo por ejemplo a privado/administracion.htm estando logueado correctamente
El mensaje "EL FILTRO ESTA FUNCIONANDO" se me imprime dos veces por consola, lo que indica que el filtro pasa dos veces.. y no entiendo porque... alguien que me pueda resolver esta duda?