Je souhaite effectuer des vérifications d'autorisation pour les objets de domaine. Cela inclut des vérifications si quelqu'un est autorisé à instancier un objet (en fonction de son type - cette vérification est effectuée en externe, donc pas besoin de résoudre ce problème).AfterAdvice pour tous les constructeurs de classes implémentant statiquement une interface
Tous nos objets de domaine mettre en œuvre une interface spécifique (directement ou indirectement)
Ce que je besoin est un conseil qui court après l'instanciation d'un objet de domaine et est capable d'utiliser l'instance créée (nécessaire pour la détermination de la permission). (De plus, le conseil ne peut pas exécuter lorsque le constructeur est appelé de mise en veille prolongée)
Je veux mettre en œuvre ce en utilisant AspectJ (qui travaille encore pour les méthodes) de préférence en utilisant uniquement l'analyse statique, car il n'y a pas de changements à charge de l'exécution
Maintenant, j'essaie de créer une adresse @AfterReturning qui intercepte les appels du constructeur. Mais je ne travaille pas le pointcut.
Ce que j'essayé:
@Pointcut("within(a.b.c.DomainObject+) && execution(*.new(..))")
@Pointcut("execution(a.b.c.DomainObject+.new(..))")
Mais les deux ne fonctionne pas.
Est-ce que quelqu'un sait comment je peux y parvenir?
Cordialement Michael