Bom dia galera!
Estou criando uma página de login no meu sistema e gostaria de fazer um filter que interceptasse qualquer página xhtml e verificasse se o usuário está logado ou não.
Fiz o seguinte até agora:
Meu web.xml:
<filter>
<filter-name>verificaLogin</filter-name>
<filter-class>zUtil.FiltroLogado</filter-class>
</filter>
<filter-mapping>
<filter-name>verificaLogin</filter-name>
<url-pattern>*.xhtml</url-pattern>
</filter-mapping>
Minha classe FiltroLogado:
public class FiltroLogado implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("Entrou filtro");
HttpServletRequest req = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
HttpSession session = req.getSession();
Login user = (Login) session.getAttribute("usuario_logado");
if (user == null) {
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
ec.redirect("index.xhtml");
}
System.out.println("Passou filtro");
}
@Override
public void destroy() {
}
}
Porém não está funcionando… coloquei um breakpoint no doFilter e não entra nunca. Alguém sabe qual pode ser o problema ?
Obrigado

