Olá amigos, boa tarde.
Desenvolvi um AutorizacaoListener com as fases: afterPhase(PhaseEvent event), beforePhase(PhaseEvent event) e public PhaseId getPhaseId().
Estou precisando implementar algo que controle a navegação do usuário, ou seja, se um usuário não logou ele não consegue abrir determinada página.
Outra coisa seria para o carregamento de uma lista de professores, que se comporta de maneira diferente, ou seja, se a página chamada for de inclusao (incluirCursos.jspx) ele monta essa lista de determinada forma, caso seja (alterarCursos.jspx) a lista é montada de outra forma. Porém eu não sei como obter a página que foi chamada após o redirecionamento(página destino), eu consigo pegar apenas a página atual (página origem).
FacesContext facesContext = event.getFacesContext();
String currentPage = facesContext.getViewRoot().getViewId();
Alguém poderia me ajudar nessa questão? Mandar um PhaseListener com esses métodos implementados e como pegar a página destino no meu controlador de cursos na montagem da lista?
Estou desenvolvendo o sistema de controle acadêmico para o meu tcc, porém fiz umas modificações para melhorar a manutenibilidade, onde existe um form apenas para cada caso de uso, e tô precisando disso com uma certa urgência, quem puder me ajudar, será de grande autoria. 
Agradeço desde já,
Abraços,
Lessandro