Sobre a pasta WEB-INF

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. :smiley:

“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.

http://www.guj.com.br/java/195303-diretorio-web-inf

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 :slight_smile:

  1. 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.
  2. 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.
  3. 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…