En cuanto a Struts y restringir acceso no te puedo ayudar puesto que no lo uso y no se como va internamente, lo siento.
Lo que queria decir que no queda claro es el "trafico" que intentas explicar. Es decir, accedes a una pagina desde el navegador, pasa por un filtro y y si no esta autentificado le haces una redireccion (sendRedirect) a otra pagina. Esta segunda peticion no pasa por el filtro y llega a una accion de Struts que hace un forward a una JSP... o algo así, no? Y el problema es que no te pasa el filtro entre la accion de Struts y la JSP a la que haces el forward?
Es importante especificar si haces un redirect o un forward y donde quieres que se ejecute el filtro, ya que segun donde quieras que se haga, tendras que configurarlo de una forma u otra. Así que si no es exactamente como lo he dicho, escribe el camino explicando cada paso si es forward o redirect y veremos donde esta la cuestion.
Por ultimo, para aplicar los filtros entre peticiones internas, tienes que usar un atributo en el filter-mapping en el fichero web.xml, algo asi como:
Cita: <filter-mapping>
<filter-name>prueba</filter-name>
<url-pattern>/index.jsp</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
Pero repito, solo funciona con servlet containers con implementen JSDK2.4 (Tomcat 5.x, Resin 3.x ...)
S!