2016-05-12 123 views
0

SOAP安全頭(WSSE)和一般SOAP頭之間的區別是什麼?如果我只使用簡單的肥皂頭來發送我的憑證會怎麼樣?提前SOAP安全頭和SOAP頭之間的區別

<S:Header> 
    <Username xmlns="http://ws.enterprise.com/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:actor="http://schemas.xmlsoap.org/soap/actor/next"> 
     Username text 
    </Username> 
</S:Header> 

感謝:

爲什麼要使用這樣的:

<soapenv:Header> 
    <wsse:Security 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-1"> 
     <wsse:Username>login</wsse:Username> 
     <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">XXXX</wsse:Password> 
    </wsse:UsernameToken> 
    </wsse:Security> 

,不應該用這個!

回答

1

兩者都會滿足傳遞用戶名和密碼的功能需求。

兩者同樣簡單。

其中一個是open standard(實際上是從認證,消息機密性,不可否認性等端到端SOAP消息安全需求的經過深思熟慮的標準的一小部分in a set)。另一個是針對您的應用程序的;專有的,但可能是你所需要的。

使用WS-Security的可能的優點:

  • 已經記錄在案(你少工作只是記錄您使用WS-Security UsernameToken,客戶可以Google休息)
  • 已經實施(較少的工作爲您的消費者,甚至可能爲您的Web服務實施)。庫框架的地段(Java的:阿帕奇WSS4J,阿帕奇CXF,JavaScript的:Node.js,巨蟒:suds)的JavaEE應用服務器,如IBM WebSphere,甲骨文WebLogic,紅帽JBoss AS,和其他企業平臺,如.NET - 都已經預先建立,在許多情況下,這種特定開放標準(WS-Security UsernameToken)用於保證Web服務安全的配置技術。
  • 成長空間。這只是many related standards之一。需要/需要通過用戶名/密碼認證一些客戶,但其他人通過數字簽名認證?那裏有一個相關的標準。不需要創建一個,其中不僅包括所需的XML語法,還包括考慮各種攻擊媒介。開放標準已經有很多目光審查它們。

可能的缺點:

  • 學習曲線:選擇使用預建的東西,意味着你(和你的客戶)必須瞭解它在一定程度上。
  • 某些邊緣案例的矯枉過正。我在這裏伸展一下。假設這是一個原型Web服務,從未針對商業或生產使用。構建一個Web服務和一個Web服務客戶端?丟棄的代碼,你只是不想離開「開放」一段時間?去吧。