martes, 2 de febrero de 2010

Proyecto Final: Filtro de Estado de Conexion

Lo que estoy tratando de hacer es la parte de filtro en el cual verificaremos si la sesion esta iniciada o no, para esto en el bean tengo un atributo estadoConexion la cual sera true o false, esto setearemos en el servlet al verificar que el user y el pswd ingresado es valido.
  b.setEstadoConexion("true"); o   b.setEstadoConexion("false");
El filtro se debe aplicar a todas las paginas por lo que en el xml puse /* para que se aplique a todas pero resulta que tambien le aplica a la pagina de login entonces no funciona.
Por el momento le estoy aplicando a una pagina para probar si es que me deja entrar o no.
Este es mi doFilter

y en el web-xml lo estoy configurando de la siguiente manera:



Solo estoy corriendo el archivo ConsultarMovAdmin.jsp, se supone que como le estoy asignando el filtro no deberia pasar ya que no he iniciado la session y por tanto no he seteado ningun estado, pero resulta que igual me muestra la pagina. =/

2 comentarios:

  1. Para solucionar el Problema que el filtro no pase por la pagina de login vamos a crear un servlet que su unica funcion es redireccionar la pagina a login, entonces en nuestro web-xml a lo primero que vamos a llamar sera al servlet. =)

    ResponderEliminar
  2. Ya resolvi el problema de los filtros, tenemos un servlet que su unica funcion es redireccion a la pagina del login, el servlet es el que se llama en vez de mi index, tenemos un filtro que verifica si el user y pswd es valido y lo guarda en un Bean,
    asi mismo con el rol, y tambien seteamos una conexion "true", todo esto lo guardo en el Bean el cual lo guardare en la sesion.
    Vamos a tener un servlet controlador en donde obtendremos la informacion de la sesion que guardamos en el filtro.

    Tenia un problema con el netbeans ya que a mi servlet controlador en el url-patern del web-config le puse una extension .do para asi poder apicar mi filtro a todos los archivos que tengan .do, al asignar el filtro estaba poniendo /*.do pues es un grave error es solo *.do si queremos asiganar a toda una carpeta ahi si ponemos /nombre de la carpeta/* y eso es todo!! =)

    ResponderEliminar