No exercício proposto pelo curso, a classe Autorizador libera apenas a index.xhtml para usuários não logados. Como eu posso liberar outras paginas ?
Código Autorizador:
public class Autorizador implements PhaseListener {
private static final long serialVersionUID = 1L;
@Override
public void afterPhase(PhaseEvent event) {
FacesContext context = event.getFacesContext();
String nomePagina = context.getViewRoot().getViewId();
System.out.println(nomePagina);
if ("/login.xhtml".equals(nomePagina)) {
return;
}
Pessoa usuarioLogado = (Pessoa) context.getExternalContext()
.getSessionMap().get("usuarioLogado");
if(usuarioLogado != null) {
return;
}
NavigationHandler handler = context.getApplication().getNavigationHandler();
handler.handleNavigation(context, null, "/login?faces-redirect=true");
context.renderResponse();
}
@Override
public void beforePhase(PhaseEvent event) {
}
@Override
public PhaseId getPhaseId() {
return PhaseId.RESTORE_VIEW;
}
}