我想使用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/

10-10 20:02