我正在编写java web服务,在提供响应之前,需要接受调用者的用户名和密码以进行内部身份验证。做这件事的标准方法(或最佳实践)是什么?它是在soap头中还是应该作为消息参数之一提供?在哪里可以找到这方面的代码示例?谢谢您。
最佳答案
提供用户名和密码的标准方法是使用WS-Security,它在soap头中提供安全信息:
<SOAP-ENV:Header>
<wsse:Security SOAP-ENV:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken
wsu:Id="UsernameToken-29477163"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>username</wsse:Username>
<wsse:Password>verySecret</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
WSS4J实现java的ws-security头文件。