Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个PayloadRootQNameEndpointMapping,Wss4jSecurityInterceptor和一个为我进行身份验证的自定义CallbackHandler项。现在的要求是通过 web 服务凭据或至少UsernameToken传递到 web 服务来处理特定的用例。
PayloadRootQNameEndpointMapping
Wss4jSecurityInterceptor
CallbackHandler
UsernameToken
我怎样才能做到这一点?是否可以将某些东西推到MessageContext那里并稍后从那里取回?或者我可以从SoapMessage任何提示中检索它们吗?
MessageContext
SoapMessage
谢谢你。
我使用UserPasswordAuthenticationToken并设置了身份验证的用户详细信息#setDetails(Object details)。然后可以通过以下方式设置身份验证
UserPasswordAuthenticationToken
#setDetails(Object details)
SecurityContextHolder.getContext().setAuthentication(authentication);
稍后,这可以从SecurityContextHolder通常使用本地线程实现的中检索。
SecurityContextHolder