Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no acesso de páginas dentro do WEB-INF no JSF

Boa tarde!

Estou com problemas no acesso a páginas x.html que ficam dentro da página WEB-INF. no caminho:

-Entro na página index.xhtml... no botão cliente, entro em WEB-INF/cliente/ListaCliente.xhtml... no botão novo cliente, dá erro de recurso não disponível em WEB-INF/cliente/AdicionaCliente.xhtml.

Então coloquei todos fora do WEB-INF, e funciona normalmente... Gostaria de saber como faço pra coloca-los dentro do WEB-INF.

Estava vendo no site do stackoverflow: http://stackoverflow.com/questions/9031811/which-xhtml-files-do-i-need-to-put-in-web-inf-and-which-not mas não entendi muito bem, parece que é colocar as páginas dentro de uma pasta resource e depois bloquea-la no web.xml...

Nas aulas de JSP era colocado dentro do WEB-INF por aumenta a proteção. No JSF essa segurança ainda é necessária, certo?

3 respostas
solução!

Marciel, os arquivos dentro de WEB-INF não são disponíveis para os usuários externos.

Você não pode ter algo assim:

http://localhost:8080/nomedaaplicacao/WEB-INF/index.xhtml

Uma coisa bacana de se fazer, é colocar o arquivo de template dentro dele, assim, os usuários externos não conseguirão acessar o teu arquivo de template diretamente, mas as páginas dentro da aplicação acessarão normalmente.

Daí, você pode fazer algo assim:

<ui:define name="conteudo">
    <ui:include src="/WEB-INF/template/template.xhtml" />
</ui:define>

Você não precisa colocar os .xhtml dentro da pasta WEB-INF para aumentar a segurança, pode usar JAAS, para isso, por exemplo.

Espero ter ajudado.

Olá Manoel!

Ajudou sim, e vou utilizando o template dentro do WEB-INF também. Mais pra frente vou estudar mais a fundo o JAAS, li um pouco agora sobre ele, ele que vai cuidar de fazer o controle de autenticação e autorização.

Muito obrigado =D.

Beleza, Marciel!

Bons estudos! :)