Ajuda com filter no web.xml

1 resposta
L

tenho o seguinte filtro no meu web.xml

package com.Lgweb.Tcc.Util;


import com.Lgweb.Tcc.Model.Usuario;
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; 
public class SecuritFilter implements Filter {  	         
	       public void destroy() {}  	     
	       public void doFilter(ServletRequest req, ServletResponse res,  
	               FilterChain chain) throws ServletException, IOException { 	             
	               HttpServletRequest request = (HttpServletRequest)req;
	               String uri = request.getRequestURI();  	             
	               if (uri.indexOf("/view")<0 ) {  	            	 
	                   chain.doFilter(req, res);                 
	               } else {                  
	                   Object loginBean = request.getSession().getAttribute("usuario");  
	                   if ((loginBean!=null)   
	                       && (loginBean instanceof Usuario)   
	                       && (((Usuario)loginBean).getUsuarioid()!=null)) {  
	                         
	                       if (uri.indexOf("/login.jsf")>=0) {  
	                           RequestDispatcher rd = request.getRequestDispatcher("/view/MenuSistema.jsf");  
	                           rd.forward(req, res);  
	                       } else {
	                           chain.doFilter(req, res);  
	                       }  	                         
	                } else {  
	                  RequestDispatcher rd = request.getRequestDispatcher("/login.jsf");  
	                  rd.forward(req, res);  
	                  }        }  
	               }  	    
	       public void init(FilterConfig arg0) throws ServletException {  
	       }  	     
	   }

Ele nao deixa acessar as paginas que estao dentro de view direto,qdo faco o login ele me envia para a pagina de menu corretamente td dentro dos conformes ate aqui,porem qdo seleciono uma tela no menu ele simplismente me mostra uma tela em branco e esta me apresentando isso na url
http://localhost:8080/MySystem2/login.jsf parece que ele tenta mandar o usuario mesmo logado de volta para o login?
Alguem sabe onde eu estou errando e pode me dar uma ajuda?
Obrigado.

1 Resposta

rafaelglauber

Você gravou seu usuário na sessão? Tá parecendo que você não gravou o usuário na sessão apos seu processo de autenticação, ai quando ele entra nesse filtro ele não o localiza e te envia toda hora para o mesmo local…vira um loop para sua pagina de login, deve ser por isso que fica em branco. Verifica ai seu processo de autenticação.

Criado 13 de maio de 2008
Ultima resposta 13 de mai. de 2008
Respostas 1
Participantes 2