我想使用WS-SecurityPolicy规范为Web服务编写一个Optional策略,例如,如果客户端具有证书,则可以对Soap Header进行签名,但是如果没有证书,则可以始终将Web Service与签名一起使用。
任何的想法 ?
谢谢
最佳答案
为此,可以选择其他策略。您可以在策略中指定两个不同的替代方案,然后客户端可以选择要使用的策略。这是一个例子:
<wsp:Policy ...>
<wsp:ExactlyOne>
<wsp:All>
<!-- SecurityPolicy assertions for signing go here, e.g.: -->
<sp:SignedParts ...>
<sp:Header ... />
</sp:SignedParts>
</wsp:All>
<wsp:All>
<!-- Policy alternatives may also be empty -->
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
客户端可以选择由
<wsp:All />
封装的两种选择之一。因此,在这种情况下,它可以对标头进行签名,但不必这样做。有关更多信息,请参见the WS-Policy Specification on Policy Alternatives。关于java - 在WS-SecurityPolicy中的两个不同策略之间自动选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15268639/