@Override
	public void afterPhase(PhaseEvent event) {
		
		FacesContext facesContext = event.getFacesContext();
        String currentPage = facesContext.getViewRoot().getViewId();
        HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(true);

        Integer idCidadeSessao = (Integer) session.getAttribute("idCidade");

        ExternalContext externalContext = facesContext.getExternalContext();
        String idCidadeURL = externalContext.getRequestParameterMap().get("idCidade");
        System.out.println("Página: " + currentPage);
        System.out.println("AUTENTICA SESSAO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
		
        
        System.out.println("ID DA CIDADE PELA URAL = " + idCidadeURL);

        if (idCidadeURL == null) {
            if (idCidadeSessao == null) {
                NavigationHandler nh = facesContext.getApplication().getNavigationHandler();
                nh.handleNavigation(facesContext, null, "semsessao.xhtml");
            }
        } else {
            CidadesEnum cidade = CidadesEnum.getValue(Integer.parseInt(idCidadeURL));
            if (cidade == null) {
                NavigationHandler nh = facesContext.getApplication().getNavigationHandler();
                nh.handleNavigation(facesContext, null, "semsessao.xhtml");
            } else {
                session.setAttribute("idCidade", cidade.getCodigo());
            }
        }
        
        boolean isLoginPage = (currentPage.lastIndexOf("login.xhtml") > -1);
        boolean isSemSessao = (currentPage.lastIndexOf("semsessao.xhtml") > -1);
        
        Object idCidade = session.getAttribute("idCidade");
        Object isLogado = session.getAttribute("isLogado");

        if (!isLoginPage && !isSemSessao && idCidade == null && isLogado == null) {
            String errorPageLocation = "/pages/public/semsessao.xhtml?faces-redirect=true";
            facesContext.setViewRoot(facesContext.getApplication().getViewHandler().createView(facesContext, errorPageLocation));
            facesContext.getPartialViewContext().setRenderAll(true);
            facesContext.renderResponse();
        }

        
	}