Boa tarde pessoal.
Estou implementando um sistema que possui login por autenticação. Utilizo um filtro para não deixar que a pessoa digite o endereço e caia na página sem se logar. Até ai tudo bem, mas quando o Tomcat invalida a sessão e eu tento executar alguma ação ocorre o seguinte erro:
28/08/2009 15:46:22 com.sun.faces.lifecycle.LifecycleImpl phase
WARNING: executePhase(PROCESS_VALIDATIONS 3,com.sun.faces.context.FacesContextImpl@4a1bda) threw exception
javax.faces.FacesException
        at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:108)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at security.LogFilter.doFilter(LogFilter.java:36)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.util.NoSuchElementException
        at javax.faces.component.SelectItemsIterator.next(SelectItemsIterator.java:117)
        at javax.faces.component.SelectItemsIterator.next(SelectItemsIterator.java:144)
        at javax.faces.component.SelectItemsIterator.next(SelectItemsIterator.java:49)
        at javax.faces.component.UISelectOne.matchValue(UISelectOne.java:164)
        at javax.faces.component.UISelectOne.validateValue(UISelectOne.java:137)
        at javax.faces.component.UIInput.validate(UIInput.java:867)
        at javax.faces.component.UIInput.executeValidate(UIInput.java:1065)
        at javax.faces.component.UIInput.processValidators(UIInput.java:666)
        at javax.faces.component.UIForm.processValidators(UIForm.java:229)
        at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1033)
        at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
        at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100)
        ... 28 more
Utilizo o tomcat 6.0.18 e Jsf 1.2
Meu filtro é:
[code]
public class LogFilter implements Filter {
//Pagina de login
private static final String LOG_PAGE = "/faces/login.jsp";
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
    HttpServletResponse response = (HttpServletResponse) res;
    HttpServletRequest request = (HttpServletRequest) req;
    if (!this.authorize((HttpServletRequest) req)) {
        request.getRequestDispatcher(LOG_PAGE).forward(req, res);
    } else {
        //Desativa o cache do browser
        //response.setHeader("Cache-Control","no-store");
        //response.setHeader("Pragma","no-cache");
        //response.setDateHeader("Expires",0);
        //Processa request e response
        chain.doFilter(req, res);
    }
}
public void destroy() {
}
//Metodo que verifica o bean em sessao se esta logado.
private boolean authorize(HttpServletRequest req) {
    boolean retorno = false;
    HttpSession session = req.getSession(false);
    if (session != null) {
        Usuario usuario = (Usuario) session.getAttribute("userLogin");
        if (usuario != null) {
            if(usuario.isLogado())
                retorno = true;
        }
    }
    return retorno;
}
}[/code]
Se alguém puder ajudar…agradeço!!!