Jsf 2.3 - Perco o usuário de sessão apos realizar o login

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`

Ninguém pode dar uma ajuda, hoje tentei novamente e nada de conseguir resolver, enteder o que estou fazendo de errado…

Recomendo usar qualquer outra coisa mais simples de lidar, como Spring MVC, PHP, ASP.NET Core, Rails, etc. JSF tem um ciclo de vida muito bizarro, tem que estudar demais antes de usar.

1 curtida