J'ai un service Spring-WS en utilisant PayloadRootAnnotationMethodEndpointMapping
qui a plusieurs intercepteurs:opération Spring-WS SecurityInterceptor niveau
<bean class="org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping">
<property name="interceptors">
<list>
<ref local="loggingInterceptor"/>
<ref local="validatingInterceptor"/>
<ref local="securityInterceptor"/>
</list>
</property>
</bean>
Mon securityIntercetor
est un intercepteur Wss4jSecurityInterceptor
.
Tout fonctionne bien, sauf que le securityIntercetor
est au niveau @Endpoint
, je veux qu'il soit au @PayloadRoot
(opération).
La façon dont j'authentifie les utilisateurs utilise UsernameToken
, alors je vais contre LDAP et j'obtiens les rôles et selon le rôle que je veux autoriser/interdire à l'utilisateur d'exécuter une opération. Je suppose qu'il n'y a pas de solution prête à l'emploi pour cela. Donc, ma question est: comment puis-je obtenir quelle opération est appelée dans le securityIntercetor
afin que je puisse vérifier en fonction de mes paramètres pour permettre ou non l'exécution d'une opération spécifique.
Ou peut-être avez-vous d'autres idées.
Merci.