a idéia seria deixar sempre visivel na barra de navegação o endereço: www.meudominio.com/login.jsf
para que o usuário não tente fazer implicit navigation, hoje eu tenho um listenner que implementa o javax.faces.event.PhaseListener
onde eu valido se o usuário está autenticado e tem permissão de acessar a janela.
alguém poderia me dar uma direção?
(arquivo do faces-config.xml já está com redirect false)
Eu acho que vc esta usando a abordagem errada…questões de autenticação e implicit navigation são validados via filtro. Ou seja, não importa se ele esta navegando via sistema ou digitando diretamente na barra de URL - vc faz um filtro que devidamente valida se o usuário esta logado e se tem permissão para acessar esse recurso. Outra coisa vc não tem como impedir o usuário de digitar a url no navegador…kkkk mesmo que vc consiga não mostrar o endereço das paginas originais…ele ainda pode descobrir, digitar e o jsf vai funcionar…por isso o filtro é e melhor opção.
G
grsouza
a questão da validação de usuário e janela faz parte de um framework que eu implementei.
o problema em pauta é, como ‘esconder’ a url explicita para o usuário.
independente de onde ele esteja no sistema, mostrar sempre o mesmo endereço na barra de url do browser.
F
FernandoFranzini
Mas esconder por que?
G
grsouza
estética
chefe chato … ¬¬
F
FernandoFranzini
kakakakakakak…essa foi muito boa…
Então… todas as navegações do JSF são dispacher por padrão…mas eventualmente ele muda o endereço no navegador…eu teria que ver agora…vou ver aqui.
F
FernandoFranzini
Então, como eu falei as navegações são por dispacher, mas o JSF sempre troca o endereço para penúltima pagina navegada. Agora eu não sei se existe alguma forma dele manter sempre o 1 endereço de entrada da aplicação.
Bom só queria comentar que os argumentos que vc usou não tem fator negativo na solução…se o mecanismos de segurança estiver ok…não faz diferença nenhuma.
Talvez uma solução elegante seria vc abrir sua aplicação depois de logado em uma instancia de navegador que não tenha barra de endereço…vc faz isso usando JavaScript.
G
grsouza
abrir outro navegador (aba) ocultando a barra de endereço está fora de cogitação …
minha cabeça iria rolar do 10º andar do prédio abaixo (pela escada)
acho que essa issue track vai ganhar o label ‘Limitação técnica’ … hehehe
vlw pela ajuda
F
FernandoFranzini
Conceitualmente no protocolo HTTP, uma URL é um endereço visível que pode ser requisitado manualmente ou via link nos navegadores…
De boa amigo…
Isso não é requisito…kkkkk e sim frescura…
F
FernandoFranzini
Acabei de dar um estudada na web e realmente parece que não tem jeito mesmo pq isso é um comportamento do servlet padrão do JSF.
O pessoal comenta da mesma maneiro que eu te disse…vc tendo um mecanismo de segurança certo não tem o pq vc se preocupar com isso -veja http://www.daniweb.com/web-development/jsp/threads/103080
Soluções:
O pessoal tem falado na web para vc esconder a barra é somente via HTML FRAME ou via navegador sem a Barra, lembrando que o endereço vem anexado dentro do response HTTP…ou seja, não mostrar não significa que o cara não pode pegar kkkkk.
Isso é um comportamente do faces padrão, então vc talvez pode pegar a implementação aberta de algum provedor ai e fazer um override disso. (eu não sei, tem que dar uma estudada)