XFire Web Service驗證方案

1、HTTP認證
XFire中的HTTP認證是通過HttpClient中的Basic方式發送用戶名和密碼的。客戶端代碼如下:
  
服務器端得到用戶名和密碼(目前只是測試到在Service實現中可以通過XFireServletController得到httpRequest對象。在InHandler的各個特定階段(Phase)應該也是可以的,但是目前沒有成功):

 

2、SOAP Header Authentication with Handlers
通過分別定義Client Handler和Server Handler來傳入/得到用戶名和密碼信息。

 

配置WS Server和WS Client,其中Client端的測試代碼類名由Client改爲ClientTest,因爲我們要用到Xfire的一個名爲Client的類

 

首先我們編寫服務端驗證類繼承AbstractHandler

 

 

下面是Client發送授權信息

 

爲ClientTest.java加入以下代碼

等等,還沒有完,修改Services.xm爲WS綁定Handler

 

這樣我們就完成了編碼,下面啓動tomcat,運行客戶端代碼,本文爲abcd@1234位授權用戶,使用abcd@1234,可以正常訪問WS,如果用錯誤帳號,則會有以下異常

 

如果不在CientTest加如身份校驗Handler則會有以下異常

  

發佈了19 篇原創文章 · 獲贊 3 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章