Modifier le fichier

Les filtres HTTP

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

Ordre des filtres HTTP

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.

Liste des filtres standard apportés par le produit

Le produit apporte en standard un certain nombre de filtres.

  • Filtres sur le répartiteur (dispatcher) REQUEST
ClasseDescriptionOrdre
CharEncodingFilterce filtre a pour fonction de pallier à l'absence d'encodage dans le requete ou la réponse.HIGHEST_PRECEDENCE
MDCFilterce filtre positionne l'identifiant de session dans le contexte MDC+ 10000
HoneyPotFilterce filtre permet de retourner une réponse 200 si un bot est détecté lors de la soumission d'un formulaire+ 20000
HttpsRedirectFilterce filtre gére la demande de bascule HTTP > HTTPS au navigateur si le site courant est définit en HTTPS.+ 30000
SiteAliasResolutionFilterce filtre gére la demande de redirection vers l'URL principal du site si un alias de site est détecté.+ 30000
HttpMarkerFilterce filtre initilise le recueil des informations statistiques de la requête+ 40000
ContexteFilterce filtre positionne le contexte univ à partir des informations de la session de l'utilisateur+ 50000
PDFFilterce filtre gére la génération en PDF d'une page du site.+ 60000
  • Filtres sur le répartiteur (dispatcher) FORWARD
ClasseDescriptionOrdre
ForwardContexteFilterce filtre transmet le contexte en cas de forwardHIGHEST_PRECEDENCE
  • Filtres sur le répartiteur (dispatcher) ERROR
ClasseDescriptionOrdre
HttpsRedirectFilterce filtre gére la demande de bascule HTTP > HTTPS au navigateur si le site courant est définit en HTTPS.+ 30000
SiteAliasResolutionFilterce filtre gére la demande de redirection vers l'URL principal du site si un alias de site est détecté.+ 30000
ContexteFilterce 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
ClasseDescriptionOrdre
FrontOfficeFilterce filtre est utilisé lors de la préparation de l'affichage frontHIGHEST_PRECEDENCE + 60000

Ajout d'un filtre HTTP

  1. Créer une classe qui implémente ExtensionFilter
...
public class AcmeFilter implements ExtensionFilter {
    ...
}
  1. Ajouter les annotations Spring
@Component
@CoreContext
@Order(Ordered.HIGHEST_PRECEDENCE + 35000)
@WebFilter(urlPatterns = FILTER_PATTERN_DEFAULT, filterName = "acme-filter")
public class AcmeFilter implements ExtensionFilter {
    ...
}