Boa Noite,
Estou com uma dúvida que preciso da ajuda de vocês.
É o seguinte:
Utilizo uma classe Autorizador para verificar se o funcionário está logado. Porém, está classe só permite que o funcionário não logado acesse a index.xhtml.
Na minha aplicação, preciso que mais duas páginas sejam acessadas mesmo sem o funcionário está logado. E agora?
Abaixo segue o código da minha classe Autorizador.
package br.gov.seinf.listener;
import javax.faces.application.NavigationHandler;
import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
import br.gov.seinf.mb.LoginBean;
public class Autorizador implements PhaseListener {
private static final long serialVersionUID = 1L;
public void beforePhase(PhaseEvent event) {
}
public void afterPhase(PhaseEvent event) {
FacesContext context = event.getFacesContext();
if ("/index.xhtml".equals(context.getViewRoot().getViewId())) {
return;
}
// Obtendo LoginBean da Sessão
LoginBean loginBean = context.getApplication().evaluateExpressionGet(context, "#{loginBean}", LoginBean.class);
if (!loginBean.isLogado()) {
NavigationHandler handler = context.getApplication().getNavigationHandler();
handler.handleNavigation(context, null, "index.xhtml?faces-redirect=true");
context.renderResponse();
//Efetua a renderizasão da tela
context.renderResponse();
}
}
public PhaseId getPhaseId() {
return PhaseId.RESTORE_VIEW;
}
}
Desde já agradeço a ajuda de todos. Obrigado!!