2015-06-26 72 views
0

我們正在嘗試在部署在Weblogic 10.3.6上的Web服務上配置ws-security:目的是僅在經過身份驗證時才允許執行ws。因此,我們創建了一個用戶(「虛擬」)到默認的weblogic領域,並將憑證傳達給誰開發此webservice的客戶端。weblogic Ws安全政策vs綠洲政策

他已經發布了一個測試信封通過SOAP-UI運行

<soapenv:Envelope xmlns:sch="http://com.webservices.amm.standalone.key.provider/schema.xsd" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soapenv:Header> 
    <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> 
    <wsse:UsernameToken wsu:Id="UsernameToken-2"> 
      <wsse:Username>dummy</wsse:Username>  
      <wsse:Password Type="**http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest**"><!-- digested password --></wsse:Password> 
      <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"><!-- encoding type --></wsse:Nonce> 
      <wsu:Created>2015-06-24T14:42:48.749Z</wsu:Created> 
    </wsse:UsernameToken> 
    </wsse:Security> 
    </soapenv:Header> 
    <soapenv:Body> 
     <sch:searchKeyReq> 
     <sch:KeyProviderInput> 

      <!--Here input attributes:--> 

     </sch:KeyProviderInput> 
     </sch:searchKeyReq> 
    </soapenv:Body> 
</soapenv:Envelope> 

其響應

<?xml version='1.0' encoding='UTF-8'?> 
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> 
<S:Body><SOAP-ENV:Fault xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> 
    <faultcode xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">**SOAP-ENV:MustUnderstand**</faultcode> 
     <faultstring>MustUnderstand headers:[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood</faultstring> 
</SOAP-ENV:Fault></S:Body></S:Envelope> 

很顯然,我認爲,它取決於通過對web服務的WS-政策沒有配置。

所以問題是:

1)這是我們必須聯合起來,以通過管理控制檯或在我們看到進入soapenv綠洲政策對應的WebLogic @Policy批註我們的webservice的政策:標題標籤>?

2)「虛擬」用戶必須具有某些特定角色?

在此先感謝

回答

0

你可以簡單地下面一行添加到您的Web服務類:

@Policy(uri = "Wssp1.2-2007-Https-UsernameToken-Plain.xml", attachToWsdl=true) 

通過這一政策意味着你告訴發送他們的用戶名和密碼(純文本)的客戶端。您還可以選擇其他一些策略來發送加密密碼,如摘要。 您也可以從weblogic控制檯選擇此政策。

關於用戶的角色,據我所知,在安全領域定義一個新用戶的確很好,但爲了管理角色和權限,應該有一些角色。