Galera,
uso RichFaces+Facelets e estou tentando implementar um filtro de login usando a API de filtro do JavaEE.Já pesquisei mas não consigo encontrar o problema. Segue o código:
index.jsp(pagina inicial do projeto)
<jsp:forward page="/principal.faces"></jsp:forward>
principal.xhtml(template base)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:insert name="topo">
<h:graphicImage height="150" width="550" value="/images/topo.jpg" />
<h:graphicImage height="150" width="600"
value="/images/topo_direita.jpg" />
</ui:insert>
<c:if test="#{login.logado}">
<ui:include src="menu.xhtml" />
</c:if>
<ui:insert name="corpo"/>
</ui:composition>
classe do filtro(mapeada pra todas as requisicoes .faces)
package filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpReq = (HttpServletRequest)req;
HttpServletResponse httpRes = (HttpServletResponse)res;
HttpSession session = httpReq.getSession(true);
if(session.getAttribute("user")==null){
session.setAttribute("user", "teste");
httpRes.sendRedirect(httpReq.getContextPath()+"/login.faces");
}else{
chain.doFilter(req, res);
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
Na execução do filtro,não dá erro e nem redireciona.O que pode estar errado?