Bom dia galera
É o seguinte, tenho uma aplicação completa com login e senha funcionando normalmente.
Preciso liberar o acesso para uma determinada pasta do sistema para ser acessada digitando o endereço direto, pois ela terá uma outra tela de login, o filtro está bloqueando o acesso e jogando para a tela de logout.
A única classe q eu achei aí debugando vou listar o conteúdo dela abaixo:
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.com.monisat.login.Login;
import br.com.monisat.login.Logout;
/**
* @Autor Rafael Meurer
* @Data 23/05/2008
*/
@SuppressWarnings("serial")
public class Listener implements PhaseListener {
public PhaseId getPhaseId() {
return PhaseId.RESTORE_VIEW;
}
public void beforePhase(PhaseEvent event) {
}
public void afterPhase(PhaseEvent event) {
FacesContext fc = event.getFacesContext();
boolean loginPage = fc.getViewRoot().getViewId().lastIndexOf("login") > -1 ? true : false;
boolean logoutPage = fc.getViewRoot().getViewId().lastIndexOf("logout") > -1 ? true : false;
if ( logoutPage == true ) {
} else if (!loginPage && !loggedIn()) {
String retorno = new Logout().desconectar();
NavigationHandler nh = fc.getApplication().getNavigationHandler();
nh.handleNavigation(fc, null, retorno);
}
}
private boolean loggedIn() {
return Login.checkUser();
}
}
Se alguém puder me ajudar, desde já agradeço.
Cordialmente
Diego Silva