Foros del Web » Programación para mayores de 30 ;) » Java »

Filtros con maping *.jsp

Estas en el tema de Filtros con maping *.jsp en el foro de Java en Foros del Web. Hola, tengo una duda que no encontre informacion en ningun lado!!! mi duda es que estoy aplicando filter mapping para saber si el usuario esta ...
  #1 (permalink)  
Antiguo 10/04/2010, 10:35
 
Fecha de Ingreso: agosto-2009
Mensajes: 25
Antigüedad: 14 años, 8 meses
Puntos: 0
Filtros con maping *.jsp

Hola, tengo una duda que no encontre informacion en ningun lado!!!
mi duda es que estoy aplicando filter mapping para saber si el usuario esta logeado cada vez que pide una pagina y si no esta logeado lo mando al menu login.jsp
pero como dice el titulo el mapping que tengo es el siguiete:
<filter>
<filter-name>FiltroSesion</filter-name>
<filter-class>Filtro.FiltroUsuario</filter-class>
<init-param>
<param-name>urlLogin</param-name>
<param-value>login.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>FiltroSesion</filter-name>
<url-pattern>/*.jsp</url-pattern>
</filter-mapping>
en donde el filtro es para todas las paginas jsp que solicite el usuario, pero si solicita la pagina login.jsp se queda en un bucle infinito porque esta solicitando nuevamente una pagina que cumple con el patron *.jsp, como hago para que haga una excepcion y unicamente aplique al filtro a todas las *.jsp menos la login.jsp?????
desde ya muchas gracias
  #2 (permalink)  
Antiguo 10/04/2010, 10:44
 
Fecha de Ingreso: agosto-2009
Mensajes: 25
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Filtros con maping *.jsp

Me olvide de poner lo que tengo en el servlet:
Código:
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
        chain.doFilter(request, response);
        // Extraer Sesión
        HttpSession session = ((HttpServletRequest)request).getSession();
        //aca unicamente comparo si hay una variable usuario en el session pero se puede hacer todo lo mas complejo que quiera (en donde me voy a fijar si tiene permiso para esa pagina)
        if(session.getAttribute("usuario")==null)
        {
            //NO hay una session con ususario
            RequestDispatcher dispatcher = request.getRequestDispatcher("/"+urlLogin);
            dispatcher.forward(request, response);
        }

    }
para saber a que pagina quiere acceder como hago??? porque mi control es por paginas, es decir que cada usuario tiene accesso asignados por paginas, y quiero saber si la pagina que solicito corresponde con la que tiene asignada el permiso en la bd pero como se a que pagina quiso acceder???
  #3 (permalink)  
Antiguo 12/04/2010, 00:10
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Filtros con maping *.jsp

Simplemente basta comprobar que la página solicitada no es Login.jsp, si es así entonces no hacer el forward y dejar seguir a la petición su curso.

Los mappings no admiten expresiones regulares, así que no puedes decir "todas las .jsp menos ésta".

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Etiquetas: jsp, mapping, filtros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:15.