2010-11-29 16 views
2

J'ai un PayloadRootQNameEndpointMapping, avec le Wss4jSecurityInterceptor et un CallbackHandler personnalisé qui fait l'authentification pour moi. L'exigence est maintenant de passer par les informations d'identification du service Web ou au moins le UsernameToken au service Web pour gérer un cas d'utilisation spécifique.Comment puis-je passer les «informations d'identification de service Web» à mon point de terminaison de service Web?

Comment puis-je y parvenir? Est-il possible de pousser quelque chose à la MessageContext et l'obtenir plus tard à partir de là? Ou puis-je les récupérer à partir du SoapMessage Des indices pour moi?

Merci.

Répondre

1

J'ai utilisé un UserPasswordAuthenticationToken et de définir les détails de l'utilisateur sur #setDetails(Object details) de l'authentification. L'authentification peut alors être réglée via

SecurityContextHolder.getContext().setAuthentication(authentication); 

plus tard cela peut être récupéré à partir du SecurityContextHolder normalement mis en œuvre avec un fil local.