Estou tentando utilizar o controle de permissão PhaseListener, quando eu logo a pagina é direcionada, e os menus são habilitados, mas caso eu clique em algum menu, ai todos os menus somem.
Sou novo no JSF e não tenho ideia o que estou fazendo errado, se alguém puder me ajudar fico muito grato.
Meu método de login e onde coloco o usuário na sessão
context.getExternalContext().getSessionMap().put("usuario", this.usuario);
if (usuario.permite(EPermissoes.RESUMOVENDAS))
retorno = "resumovendas?faces-redirect=true";
else
retorno = "main?faces-redirect=true";
Meu método PhaseListener
public void afterPhase(PhaseEvent event) {
Usuarios usuarioLogado = new Usuarios();
FacesContext facesContext = event.getFacesContext();
Boolean paginaLogin = facesContext.getViewRoot().getViewId().equals("/login.xhtml");
HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(true);
usuarioLogado = (Usuarios) session.getAttribute("usuario");
System.out.println(facesContext.getViewRoot().getViewId()+" -------------" + usuarioLogado);
if ( ! paginaLogin && usuarioLogado == null) {
NavigationHandler nh = facesContext.getApplication().getNavigationHandler();
nh.handleNavigation(facesContext, null, "login");
}
}
Coloquei um print para tentar ajudar e no momento que logo, acontece a seguinte saída:
17:53:25,592 INFO [stdout] (default task-12) /login.xhtml -------------null
17:53:25,592 INFO [HIPERAPP-LOGIN] (default task-12) Chamando GetUsuario
17:53:25,634 INFO [HIPERAPP-LOGIN] (default task-12) Retorno: resumovendas?faces-redirect=true
17:53:25,638 INFO [stdout] (default task-12) /resumovendas.xhtml -------------com.aramo.app.classes.Usuarios@1f2b0362
17:53:25,883 INFO [stdout] (default task-12) /RES_NOT_FOUND -------------null`