Servlet Filter não está funcionando

3 respostas
leonardobhbr

Galera estou com o seguinte problema estou usando facelets a extensao dos meus arquivo [color=green].xhtml[/color] e quando carrega a pagina no browser mostra [color=green].jsf[/color].
Coloquei um Filter na minha aplicação só para teste só que não funciona. Fiz de propósito qualquer tipo de requisição de alguma página na pasta [color=green]/secured/*[/color] redirecione para a pagina login.jsf só que não funciona.

Segue o Filter:

package br.com.scc.filters;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import org.apache.catalina.connector.Request;
import br.com.scc.bean.LoginBean;


public class LoginRedirectFilter implements Filter
{
	
	public void doFilter(ServletRequest req, ServletResponse res,
			FilterChain chain) throws ServletException, IOException
	{
		
		HttpServletRequest request 		= (HttpServletRequest) req;		
		
		RequestDispatcher requestDispatcher = request.getRequestDispatcher("login1.jsf");
		
		requestDispatcher.forward(req, res);
	}
	
	public void init(FilterConfig arg0) throws ServletException
	{
	}
	
	public void destroy()
	{
	}	
}

meu web.xml

<filter>         
		<filter-name>login-redirect-filter</filter-name>   
		<filter-class>br.com.scc.filters.LoginRedirectFilter</filter-class>   
	</filter>     
	<filter-mapping>   
		<filter-name>login-redirect-filter</filter-name>   
		<url-pattern>/secured/*</url-pattern>   
	</filter-mapping>

E minha estrutura das paginas está assim como a figura

quando tento acessar via browser a página

http://localhost:8080/scc/pages/secured/topo.jsf

ele carrega ela normalmente não carrega a página de login como o Filter está obrigando

Se alguem puder me ajudar eu agradeço

3 Respostas

leonardobhbr

UP

D

Se fizer “up”, ninguém te ajuda mesmo.
Tem certeza que esse filtro foi inicializado?
Não acha que está faltando coisa ai?
Outra, onde vc cria a sessão para então verificar?

leonardobhbr

Primeiro foi mal pelo up mais é o desespero mesmo. sobre o filtro não sei como posso ver se ele foi iniciado realmente esta faltando coisa é pq eu retirei so para testar se ele estava entrando em outra clausula por isso estou obrigando redirecionar independente de qual pagina vier para a Login.

Será que não é por causa do facelets não ? eu tentei usar o phase Listener tinha funcionado só que eu não consegui fazer a regra direito.

Obrigado pela ajuda

Criado 21 de outubro de 2008
Ultima resposta 22 de out. de 2008
Respostas 3
Participantes 2