Pessoal, estou aplicando um pouco da implementação do projeto do curso em um projeto pessoal, usando o wildfly.
Estou tendo problemas em injetar as informações gravadas na sessão em um listener. Quando eu tento fazer:
RHServidor servidor = (RHServidor) sessionMap.get("usuarioLogado");
Sempre eu obtenho null. Só que antes de chegar neste ponto, eu já tinha colocado informação neste objeto.
sessionMap.put("usuarioLogado", this.servidor);
Eu até consigo obter este valor em outros pontos do sistema. Só não estou conseguindo no injetar este valor no phaseListener, que é um Restore View after.
Alguém saberia dizer qual seria o problema ou teria alguma ideia do que poderia ser?
Segue a implementação da minha classe Autorizador.
@SuppressWarnings("serial")
    public class Autorizador implements PhaseListener {
        @Inject @ScopeMap(Scope.SESSION)
        private transient Map<String, Object> sessionMap;
        @Inject
        protected FacesContext context;
        @Inject
        private NavigationHandler handler;
         public void autoriza() {
                String nomePagina = context.getViewRoot().getViewId();
                System.out.println(nomePagina);
                if ("/login.xhtml".equals(nomePagina)) {
                    return;
                }
                RHServidor servidor = (RHServidor) sessionMap.get("usuarioLogado");
                if (servidor != null) {
                    return;
                }
                // redirecionamento para login.xhtml
                handler.handleNavigation(context, null, "/login?faces-redirect=true");
                context.renderResponse();
            }
        @Override
        public void afterPhase(PhaseEvent arg0) {
            autoriza();
        }
        @Override
        public void beforePhase(PhaseEvent arg0) {
            //autoriza();
        }
        @Override
        public PhaseId getPhaseId() {
            // TODO Auto-generated method stub
            return PhaseId.RESTORE_VIEW;
        }
} 
            