Obter a página atual no filtro

0 respostas
L

Bom dia colegas,

Estou usando um filtro para trazer a página atual e em cima disso fazer uma crítica se o usuário tem acesso a ela ou não. 
   Só que o meu filtro traz apenas a página que fez a requisição e não a pagina atual.

   Já tentei usar <redirect/> mas não funciona.

   O que eu faço para fazer meu filtro trazer a página atual de fato ???

Este é um trecho do meu filtro:

public class FiltroListener implements PhaseListener {

   public void afterPhase(PhaseEvent event) {

        //Obtém o FacesContext.
       FacesContext facesContext = event.getFacesContext();

       //Armazena a página que fez a requisição (a string da pág. atual ex: "/pag.jsf")
       String currentPage = facesContext.getViewRoot().getViewId();

       //Faz a verificação se é a página de login.
       boolean isLoginPage = (currentPage.lastIndexOf("Login.jsp") > -1);

       //Obtém a sessão (essa mesma onde você deverá guardar seu usuário no nível de sessão com descritor currentUser).
       HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(true);
       Object currentUser = session.getAttribute("currentUser");

E esse é minha navegação no faces-config.xml :

<navigation-rule>
        <from-view-id>/Menu/MenuPrincipal.jsp</from-view-id>
        <navigation-case>
            <from-outcome>cidades</from-outcome>
            <to-view-id>/Cadastros/CadastroCidades.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>uf</from-outcome>
            <to-view-id>/Cadastros/CadastroUF.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>paises</from-outcome>
            <to-view-id>/Cadastros/CadastroPaises.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>logout</from-outcome>
            <to-view-id>/Login.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
Criado 30 de junho de 2009
Respostas 0
Participantes 1