Modifier le fichier
Les filtres HTTP permettent d'effectuer des traitements avant (pre-filter) ou après (post-filter) le traitement de la requête HTTP par le code applicatif (processus / controleur, etc... )
L'ordre des filtres HTTP est géré via l'ajout de l'annotation @Order.
(cf la classe FilterDeclarationManager )
Lors de l'ajout des filtres, il convient de bien vérifier la fonction de chaque filtre.
Par exemple, il ne faut pas insérer votre filtre avant le ContexteFilter si vous utilisez des données du contexte.
Le produit apporte en standard un certain nombre de filtres.
Filtres sur le répartiteur (dispatcher) REQUEST
Classe Description Ordre
CharEncodingFilter ce filtre a pour fonction de pallier à l'absence d'encodage dans le requete ou la réponse. HIGHEST_PRECEDENCE
MDCFilter ce filtre positionne l'identifiant de session dans le contexte MDC + 10000
HoneyPotFilter ce filtre permet de retourner une réponse 200 si un bot est détecté lors de la soumission d'un formulaire + 20000
HttpsRedirectFilter ce filtre gére la demande de bascule HTTP > HTTPS au navigateur si le site courant est définit en HTTPS. + 30000
SiteAliasResolutionFilter ce filtre gére la demande de redirection vers l'URL principal du site si un alias de site est détecté. + 30000
HttpMarkerFilter ce filtre initilise le recueil des informations statistiques de la requête + 40000
ContexteFilter ce filtre positionne le contexte univ à partir des informations de la session de l'utilisateur + 50000
PDFFilter ce filtre gére la génération en PDF d'une page du site. + 60000
Filtres sur le répartiteur (dispatcher) FORWARD
Classe Description Ordre
ForwardContexteFilter ce filtre transmet le contexte en cas de forward HIGHEST_PRECEDENCE
Filtres sur le répartiteur (dispatcher) ERROR
Classe Description Ordre
HttpsRedirectFilter ce filtre gére la demande de bascule HTTP > HTTPS au navigateur si le site courant est définit en HTTPS. + 30000
SiteAliasResolutionFilter ce filtre gére la demande de redirection vers l'URL principal du site si un alias de site est détecté. + 30000
ContexteFilter ce filtre positionne le contexte univ à partir des informations de la session de l'utilisateur + 50000
Filtres spécifiques à la servlet JSP, dispatcher REQUEST + FORWARD + ERROR
Classe Description Ordre
FrontOfficeFilter ce filtre est utilisé lors de la préparation de l'affichage front HIGHEST_PRECEDENCE + 60000
Créer une classe qui implémente ExtensionFilter
...
public class AcmeFilter implements ExtensionFilter {
...
}
Ajouter les annotations Spring
@Component
@CoreContext
@Order(Ordered.HIGHEST_PRECEDENCE + 35000)
@WebFilter(urlPatterns = FILTER_PATTERN_DEFAULT, filterName = "acme-filter")
public class AcmeFilter implements ExtensionFilter {
...
}