安全性是我們大多數客戶優先考慮的問題。隨著越來越多的客戶采用Web服務,他們發現,他們需要了解如何保護Web服務,以及使用何種身份驗證機制。為了保持Web服務的開放性并支持多種客戶端類型,就必須了解如何處理Web服務的安全性問題。
本文深入幕后探討了WebLogic Web服務的安全性問題。我將闡明如何保護WebLogic Web服務,身份驗證如何工作,以及如何使用各種編程語言開發客戶端來為WebLogic Web服務提供身份驗證。
以WebLogic Server作為宿主的Web服務是使用標準的J2EE組件(比如EJB和JMS)來實現的,并且作為標準的J2EE企業應用程序來打包。WebLogic Web服務使用簡單對象訪問協議(Simple Object access PRotocol ,SOAP)1.1作為消息格式,并使用HTTP 1.1作為連接協議。
Web服務運行時組件是一組創建Web服務所需的servlet和相關的基礎架構。運行時的元素之一是一組用于處理來自客戶端SOA請求的servlet。這些servlet包含在WebLogic Server發布中。運行時的另一個元素是Ant任務,它負責生成和組裝WebLogic Web服務的所有組件。
WebLogic Web服務作為標準的J2EE企業應用程序來打包,它由以下非凡組件組成:
在一個RPC風格的Web服務中,無狀態會話EJB可以完成Web服務的所有實際工作,或者它們可以把工作分配給其他EJB。Web服務的實現者決定哪些EJB完成實際工作。在消息風格的Web服務中,J2EE對象(通常是消息驅動bean)從JMS目的地獲取消息,并且處理它們。WebLogic Web服務作為企業存檔(.ear)文件打包,其中包含Web應用程序的Web存檔(.war)文件和EJB存檔(.jar)文件。
因為WebLogic Web服務作為標準的J2EE企業應用程序打包,所以通過保護組成Web服務的以下標準J2EE組件中的一些或全部,來保護對Web服務的訪問:
可以通過保護負責處理客戶端和服務之間SOAP消息的SOAP servlet,來保護消息風格的Web服務。
不論是手動還是使用wsgen Ant任務來組裝Web服務時,您都可以在Web應用程序的web.xml文件中引用SOAP servlet。這些servelet負責處理在WebLogic Server和客戶端應用程序之間傳遞的SOA消息。它們始終部署在WebLogic Server上,并為所有部署的WebLogic Web服務所共享。
Web服務引用哪個特定SOAP servlet取決于它的類型(RPC風格還是消息風格)。下面列出了對每個SOAP servlet的描述:
清單1
<servlet> <servlet-name>sender</servlet-name> <servlet-class> weblogic.soap.server.servlet.DestinationSendAdapter </servlet-class> <init-param> <param-name>topic-resource-ref</param-name> <param-value>senderDestination</param-value> </init-param> <init-param> <param-name>connection-factory-resource-ref</param-name> <param-value>senderFactory</param-value> </init-param> </servlet> ...
|
新聞熱點
疑難解答