Bonjour à tous,
Sur mon projet Tomcat / Spring / Spring MVC, on m'a demandé d'implémenter le besoin suivant :
***
Quand l'utilisateur arrive sur la page de garde, il faut contrôler qu'il est bien authentifié et si ce n'est pas le cas lui renvoyer la page que l'on renverrait normalement sauf que tous ses liens pointent vers une page d'erreur.
S'il est authentifié, on lui renvoie une page normale avec des liens lui permettant de naviguer dans notre webapp.
La page de garde est le seul endroit où nous avons besoin de faire cette vérification d'identité, pour diverses raisons. Nous employons une annotation marqueur afin de dire à l'intercepteur que le contrôleur de la page de garde doit faire l'objet de cette vérification.
***
J'ai codé tout cela avec un intercepteur Tomcat en mode "quick & clean" (si si !) mais nous voudrions comparer avec l'AOP puisque nous avons une classe unique (celle du contrôleur de la page de garde) pour laquelle nous voudrions injecter du code de vérification avant son exécution. Voici les avantages et inconvénients que nous voyons aux deux solutions (avant codage de la solution avec AOP) :
- un intercepteur est quelque chose d'assez standard, alors que l'AOP n'est actuellement pas utilisée dans le projet.
- Il est un peu dommage d'avoir un test à chaque requête disant si la vérification d'identité doit être faite ou non (solution de l'intercepteur) alors que nous n'avons qu'une classe pour laquelle elle est pertinente.
- Pour ce que je comprends de l'AOP, le seul moment où notre code de vérification sera appelé sera celui que nous définissons, il n'y aura donc pas de test à chaque requête définissant si nous avons besoin de procéder à la vérification.
Qu'en pensez-vous ? Quelqu'un a-t-il des choses à rajouter ou enlever ? En particulier, ma perception de l'implémentation Spring de l'AOP est-elle juste ?
Merci de vos lumières !
Partager