Bonjour,

Je souhaite ajouter une fonctionnalité de sécurité à mes classes.
Pour info je travaille avec GWT, les classes auxquelles je veux ajouter une sécurité héritent de RemoteServiceServlet, et ont donc accès à la méthode protected getThreadLocalRequest().

Ce que je veux ajouter comme fonctionnalité ressemblerait à ça si je le mettais dans le code de chaque méthode :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
HttpServletRequest request = this.getThreadLocalRequest();
HttpSession session = request.getSession(false);
if (session == null) {
    throw new AccessDeniedException();
}
Ce code doit être exécuté avant le reste de ma méthode.

Voici l'aspect que je souhaite ajouter :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Aspect
public class GwtSessionAspect {
 
	@Before("monpackage.MaClasse")
	public void doAccessCheck() throws AccessDeniedException {
		HttpServletRequest request = null;
		// J'ai besoin d'exécuter la ligne suivante
		//request = this.getThreadLocalRequest();
		HttpSession session = request.getSession(false);
		if (session == null) {
			throw new AccessDeniedException();
		}
	}
}
Y a-t-il un moyen pour appeler la méthode protégée getThreadLocalRequest() ?

Je débute en AOP, je ne sais même pas si ce que je souhaite faire est possible

Merci d'avance