2013-04-03 21 views
0

我正在使用UsernameToken或SAMLToken(簽名)實施備用身份驗證。我已經配置了以下政策在我的WSDL:由於WS策略,SAMLToken(簽名)請求失敗

 <wsp:Policy wsu:Id="DoubleItPlaintextPolicy"> 
      <wsp:ExactlyOne>  
        <wsp:All> 
          <sp:SupportingTokens xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"> 
            <wsp:Policy> 
              <sp:SamlToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"> 
                <wsp:Policy> 
                  <sp:WssSamlV20Token11/> 
                </wsp:Policy> 
              </sp:SamlToken> 
            </wsp:Policy> 
          </sp:SupportingTokens>  
        </wsp:All> 
        <wsp:All>  
          <sp:SupportingTokens> 
            <wsp:Policy> 
              <sp:UsernameToken> 
                <wsp:Policy> 
                  <sp:HashPassword/> 
                </wsp:Policy> 
              </sp:UsernameToken>  
            </wsp:Policy> 
          </sp:SupportingTokens> 
        </wsp:All>  
      </wsp:ExactlyOne> 
    </wsp:Policy> 

而且,我已經配置在Spring bean的文件後端驗證。我能夠通過UsernameToken接收請求。然而,SAMLToken請求與以下錯誤而失敗:

<faultstring>These policy alternatives can not be satisfied:{http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}SupportingTokens {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}SamlToken {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}UsernameToken</faultstring> 

下面是我想處理的示例請求:

http://shortText.com/SNzXMB

可有人請讓我知道處理這個正確的策略種請求。

回答

1

看來我使用的CXF-2.4在政策備選中存在一些問題。以上policysnippet工作時,我升級到CXF-2.7