Tenho um projeto utilizando JSF. Atigamente usava Struts e se não me engano as páginas eram guardadas dentro do WEB-INF só que parei um tempo de trabalhar com Struts e agora voltei a desenvolver pra web só que começando com JSF, ainda continua do mesmo jeito pois não consegui chamar as páginas dentro no WEB-INF. Esta pasta serve pra proteger as páginas, certo? Aguém me dá uma explicação geral por favor! Valeu.
“Proteger” apenas para a pessoa não saber o caminho físico.
Você poderia mapear um servlet como quisesse e pronto.
Com JSF você não faz esse tipo de coisa, mapeia direto mesmo e você pode proteger o acesso utilizando JAAS por exemplo, ou um filtro.
Soh quem tem autorização poderia ver.
Então jakefrog você recomendaria fazer a aplicação com as páginas fora do WEB-INF mesmo, só deixando apenas os arquivos de configuração? Obrigado pela resposta
- web-inf é para guardar informações de configurações de app web - jars, .classes, xmls etc. Coisas que não tem que ser acessadas via HTTP.
- Nenhuma pagina deveria ser colocada dentro de web-inf!!! Vc até pode fazer, mas não estará acessível via URL. Eu ja vi alguns livros falarem disso erroneamente.
- Para proteger as paginas de acesso indevidos na solução, vc não deve restringir o acesso colocando no web-inf. Vc na verdade precisa implementar um controle de autenticação e autorização de usuários relacionado ao contexto da solução -http://fernandofranzini.wordpress.com/2009/09/09/autenticacao-e-autorizacao/ deixando as paginas no lugar correto que é a pasta context da app.
Para te falar a verdade, é só assim que eu faço. [=
Você pode limitar o acesso de pessoas às suas páginas utilizando JAAS. Depois dá uma olhada: Validação de Login de Usuário com JSF e JAAS.
Obrigado jakefrog e FernandoFranzini, realmente já dei uma olhada(a um bom tempo atrás) em alguns livros que recomendavam colocar dentro de WEB-INF criando uma pasta “páginas” e depositando as páginas nela para fazer o acesso entre as páginas somente através de servlets(acho que era assim no struts) mas dando uma nova olhada aqui o pessoal não tá recomendando isso. Mas só pra terminar o entendimento fiz um teste aqui, criei duas páginas, index1.xhtml e index2.xhtml, ambas estão no contexto da aplicação, a index1 tem um login que dá acesso a aplicação em si que está em index2, então no caso posso deixar tudo no contexto raiz mesmo e controlar tudo com JAAS?
JAAS é 1 das muitas opções para se fazer autenticação e autorização…
veja meu link para outras dicas…