Bom dia amigos.
Tenho uma url por exemplo: www.meusite.com.br/recurso/algumaPagina.jsf
Gostaria que essa página só fosse acessada atravez do menu na pagina principal.
Gostaria de bloquear, por exemplo, o acesso direto atravez do browser e também bloquear colocar a pagina nos favoritos.
Tem como fazer essa validação?
[quote=fabiocesar.ti]Bom dia amigos.
Tenho uma url por exemplo: www.meusite.com.br/recurso/algumaPagina.jsf
Gostaria que essa página só fosse acessada atravez do menu na pagina principal.
Gostaria de bloquear, por exemplo, o acesso direto atravez do browser e também bloquear colocar a pagina nos favoritos.
Tem como fazer essa validação?[/quote]
Olha, não porque a página é algumaPagina.jsf que ela realmente exista. Se não quiser que o usuário veja o fonte de uma página jsf, você pode colocá-la dentro da pasta WEB-INF e fazer as devidas configurações para que o JSF puxe de lá as páginas (posso até ter falado merda, mas acredito que seja possível fazer esse tipo de configuração no JSF). Você pode, também, optar por bloquear essas páginas usando a tag no seu web.xml, mas eu prefiro a primeira opção.
Sobre os favoritos e acesso direto pelo browser, isso é, no mínimo, loucura. Como você vai bloquear o browser do usuário? De repente até tem como, mas é uma solução completamente maluca para um problema que não existe.
Fiquei até curioso para saber o motivo de tanta ditadura em um sistema. Talvez tenha como você atingir o mesmo resultado de outra forma.
Olá,
Pois é. Estava pensando a mesma coisa.
Vou tentar achar outra solução para meu problema.
Obrigado
[quote=Ataxexe]Fiquei até curioso para saber o motivo de tanta ditadura em um sistema. Talvez tenha como você atingir o mesmo resultado de outra forma.[/quote]Isso ta cheirando a ManagedBean com ScopedSession onde se a pessoa acessa a URL direto vão estar faltando dados na sessão que teriam sido “abastecidos” em outras telas.
Algo para ajudar nesse problema seria colocar todo seu projeto dentro de iframe na tela inicial.
Desse jeito o usuário ficaria sempre com a mesma URL no browser e isso não o afetaria em nada.