我有一个PayloadRootQNameEndpointMapping
,Wss4jSecurityInterceptor
和一个自定义CallbackHandler
,可以为我执行身份验证。现在的要求是将web服务凭证或至少UsernameToken
传递给Web服务以处理特定用例。
我怎样才能做到这一点?有可能将某些东西推到MessageContext
并稍后从那里取回来吗?或者我可以从SoapMessage
任何暗示中找回它们吗?
谢谢。
答案 0 :(得分:1)
我使用了UserPasswordAuthenticationToken
并在身份验证的#setDetails(Object details)
上设置了用户详细信息。然后可以通过
SecurityContextHolder.getContext().setAuthentication(authentication);
稍后可以从通常使用本地线程实现的SecurityContextHolder
中检索。