Interdire l'accès aux jsp
Bonjour,
Mon application web utilise Struts (mais ma question peut s'appliquer à n'importe quel type de servlet) et je passe par des url du type *.do pour effectuer des actions qui iront, au final, m'afficher des pages jsp. Néanmoins je me suis rendu compte que si un utilisateur tapait les url des pages jsp il pouvait y accéder directement, sans passer par la servlet Struts.
Mon but au final serait que seules des url du type *.do soient accessibles pour l'utilisateur et qu'il n'ait pas accès aux fichier jsp (ou tout autre ressource, comme des images) qui se trouvent dans l'arborescence de mon application.
J'utilise jBoss et j'ai vu que mes applications possédaient toujours deux servlets par défaut : une servlet appelée jsp et une autre appelée default. La servlet jsp j'imagine bien ce qu'elle fait (et c'est sans doute celle-là qui m'embête le plus) mais je me demande bien à quoi sert la servlet "default".
Je pense que la meilleure manière de n'autoriser l'accès qu'à mes actions Struts *.do est soit de créer un filtre soit de désactiver la servlet par défaut "jsp".
- Pour la première solution est-ce qu'on peut spécifier comme url-pattern des filtres une véritable expression régulière du genre "Toutes les url SAUF *.do". Ce qui me permettrait d'avoir un filtre qui renvoie sur une page d'erreur.
- Pour la deuxième solution quelqu'un sait-il comment procéder pour désactiver les servlets par défaut ? Est-ce que c'est configurable dans le fichier web.xml ?
Mais peut-être existe-t-il d'autres solutions...