Bloqueio de acesso JSP[RESOLVIDO]

5 respostas
V

Boa tarde amigos…

Tenho uma aplicação que possui um página login e senha. Um Servlet autentica o usuário que se loga e depois o manda para um painel de administrador (admin.jsp). Pois bem. Quero saber como faço para evitar o acesso da página admin.jsp diretamente pela url. Posso simplesmente colocar lá “http://localhost:8008/minhaAplicacao/admin.jsp” que ela entra. Devo setar alguma variável na JSP?
Não tenho muita idéia do que fazer.
Abraços, desde já agradecido.

5 Respostas

W

recomendo usar JAAS.

G

Olá,

Existem algumas maneiras diferentes de fazer o que você precisa, cada uma com vantagens e desvantagens:

  1. Colocar a página no diretório WEB-INF. Ela não pode ser acessada diretamente, mas se um Servlet fizer forward para minhaAplicacao/WEB-INF/admin.jsp funciona.
    -> Super-rápido de fazer, mas não é flexível, para cada página que tiver que proteger você vai ter que movê-la e modificar o redirecionamento. Se for só a admin.jsp tudo bem…

  2. Criar um Filtro para interceptar as requisições e verificar se o usuário logado é admin.
    -> Essa maneira é bastante utilizada, relativamente simples de implementar e é mais flexível que a primeira, se precisar controlar outros acessos só precisa mexer no filtro. Mas também se tiver muitas regras fica uma bagunça.

  3. Configurar todo o controle de acesso da sua aplicação através de security-constraints (O JAAS, que foi sugerido pelo wbdsjunior)
    -> Esse é o jeito “Java EE” de fazer, dá trabalho no início mas depois tudo fica bem robusto e flexível, as regras são modificadas por simples alterações no arquivo web.xml.

V

Vou dar uma olhada amigos…
muito obrigado pelas dicas.

V

Vou tentar sua primeira dica gomesrod!
São somente tres páginas que preciso “proteger”.
Acho que a forma com JAAS é um pouco complexa para o que quero.
Abraços.

V

Funcionou perfeitamente!Coloquei três jsp’s no diretório WEB-INF. Ficou perfeito!Abraços… Deus abençoe a todos!

Criado 9 de novembro de 2009
Ultima resposta 10 de nov. de 2009
Respostas 5
Participantes 3