RichFaces + Filtro para autenticação

Olá, pessoal!

Tenho um filtro na minha aplicação para bloquear acesso direto a qualquer página caso o usuário não esteja logado, redirecionando-o para a página de login, e está funcionando normalmente, cumprindo essa função, porém tenho um problema. Ao implementar o filtro, como o menu da minha aplicação foi feito com RichFaces, sempre que chamo uma opção do menu, ele abre uma página redirecionando para a página de login :frowning:
Vocês tem alguma idéia do que possa estar acontecendo?
Segue o filtro:

public class AuthFilter implements Filter {

    private static final boolean debug = true;    
    private FilterConfig filterConfig = null;
    
    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain)
            throws IOException, ServletException {

        boolean auth = request.getAttribute("user") != null;

        HttpServletRequest rq = (HttpServletRequest) request;
        HttpServletResponse rp = (HttpServletResponse) response;
        if (!auth && !rq.getRequestURL().toString().contains("login.faces")) {
            rp.sendRedirect("login.faces");
        } else {
            try {
                chain.doFilter(request, response);
            } catch (Throwable t) {                
                t.printStackTrace();
            }
        }

    }
        
    public void destroy() {
    }
   
    public void init(FilterConfig filterConfig) {
        this.filterConfig = filterConfig;
        if (filterConfig != null) {
            if (debug) {
                log("AuthFilter:Initializing filter");
            }
        }
    }
    
    public void log(String msg) {
        filterConfig.getServletContext().log(msg);
    }
}

Obrigado!

Quando você loga, ao invés de setar o request você deveria setar o usuário na sessão. No request a cada requisição você perde ele.