Então, no meu sistema aqui to usando um PhaseListener pra restringir acesso dos usuários nao logados.
Ta funcionando muito bem mas acontece que eu quero proibir o usuário de acessar qualquer página digitando o url diretamente.
Como posso fazer isso?
Se possível, como faço pros urls nem aparecerem na barra de url do navegador?
Digo novamente: o controle de usuário está feito no PhaseListener e funcionando, mas ainda assim eu quero restringir o acesso direto digitando o url. Tem como?
Pesquiser filters, mas não to tendo muito sucesso =/
Achei esse tópico: http://www.guj.com.br/posts/list/124003.java
Mas não ajudou muito, preciso de mais dicas de como usar filters =Z
Não entendi bem. Tu queres dizer que se tu tem tua action lá:
“http://localhost:8080/tuaAplicacao/cadUsuario” tu queres que se o cara digitar isso na barra de endereço não abra mesmo que essa ação exista no teu mapeamento e que usuário esteja logado?
Quanto a não ficar aparecendo na barra de endereço tu pode trabalhar com frames aonde o frame principal é o root da tua aplicação sempre e o que exisbe as telas é um outro frame. Isso fará com que não apareça na barra de endereço, mas se o usuário visualizar o código verá.
Agora se tu não quer que o usuário digite diretamente, acho que único controle que tu poderias ter é um campo hidden que conterá uma chave que fica no server despacha para o client. Dai a cada requisição ele compara essa chave com aquele cuspiu da última vez para aquela action, se for ok, continua e gera outra chave, senão cai num tratamento qualquer.
Tchello
giulianocosta:
Não entendi bem. Tu queres dizer que se tu tem tua action lá:
“http://localhost:8080/tuaAplicacao/cadUsuario” tu queres que se o cara digitar isso na barra de endereço não abra mesmo que essa ação exista no teu mapeamento e que usuário esteja logado?
Exatamente!
Quero que o usuário acesso as páginas apenas se for clicando nos botoes de navegação e nunca digitandoa url diretamente no navegador.
giulianocosta:
Quanto a não ficar aparecendo na barra de endereço tu pode trabalhar com frames aonde o frame principal é o root da tua aplicação sempre e o que exisbe as telas é um outro frame. Isso fará com que não apareça na barra de endereço, mas se o usuário visualizar o código verá.
Como funciona esse negócio de frames? seria usar iframes sobre o facelets?