8.BDF2-WEBSERVICE

2023-07-03 17:23 更新
BDF2-WEBSERVICE模塊是利用Spring-WS實現(xiàn),Spring-WS是一款輕量級的Webservice框架實現(xiàn),具有簡單、靈活、與Spring框架無縫集成等特點。基于Spring-WS,BDF2-WEBSERVICE模塊中提供了一個快速的構(gòu)建Webservice服務(wù)的環(huán)境,對于構(gòu)建的Webservice服務(wù),可以靈活決定是否添加基于WS-Security的加密認證。


要使用BDF2-WEBSERVICE模塊,可以到nexus.bsdn.org上下載BDF2-WEBSERVICE模塊相關(guān)jar,或到我們提供的在線項目創(chuàng)建向?qū)е羞x擇BDF2-WEBSERVICE模塊并下載。同樣如果您采用的是Maven來管理您的項目,那么只需要在您項目的pom.xml文件當(dāng)中添加下面的依賴信息即可:
BDF2-WEBSERVICE模塊的依賴配置
<dependency>
 <groupId>com.bstek.bdf2</groupId>
 <artifactId>bdf2-webservice</artifactId>
 <version>2.0.0</version>
</dependency>
添加好BDF2-WEBSERVICE模塊后,就可以啟動項目對BDF2-WEBSERVICE模塊進行測試了,這里需要特別指出的是,BDF2-WEBSERVICE模塊雖然是基于Spring-WS項目構(gòu)建,但卻不用在web.xml當(dāng)中配置標準Spring-WS使用時需要配置的MessageDispatcherServlet。在BDF2-WEBSERVICE模塊當(dāng)中,我們已經(jīng)將這個MessageDispatcherServlet要擔(dān)負的作用集成到Dorado7提供的Controller當(dāng)中,所以原MessageDispatcherServlet的工作完全由Dorado7中提供的Controller來完成。

BDF2-WEBSERVICE模塊當(dāng)中允許用戶覆蓋的屬性如下表所示:
屬性名類型默認值描述
bdf2.webservice.useSecurity
boolean
false
是否為所有的Webservice服務(wù)添加WS-Security的加密認證,一旦設(shè)置成true,那么所有BDF2-WEBSERVICE模塊暴露的Webservice服務(wù)客戶端在進行訪問時,都必須提供基于WS-Security的加密認證規(guī)范的用戶名及密碼信息,否則將不能調(diào)用目標Webservice服務(wù);默認為false,表示不用WS-Security的加密認證就可以訪問Webservice服務(wù)(具體項目當(dāng)中可以通過實現(xiàn)BDF2-WEBSERVICE模塊當(dāng)中提供的IWebserivce來對單個Webservice服務(wù)添加WS-Security的加密認證,這樣更為靈活,所以一般該屬性設(shè)置為false即可)。
bdf2.webservice.userServiceBean
String
bdf2.userService
一旦我們的Webservice服務(wù)添加WS-Security的加密認證后,用戶在訪問這個服務(wù)時就需要提供用戶名及密碼,這個屬性的值對應(yīng)的bean,就是負責(zé)驗證用戶提交的用戶名及密碼是否正確。這個屬性的值應(yīng)該是一個Spring的bean的id,一個實現(xiàn)了UserDetailsService接口且配置到Spring當(dāng)中的bean的id,它的默認值為bdf2.userService,表示采用BDF2-CORE模塊當(dāng)中提供的IUserService接口實現(xiàn)類(該接口擴展自UserDetailsService接口),當(dāng)然,如果您的項目當(dāng)中沒有使用BDF2-CORE模塊,那么需要重新編寫一個UserDetailsService接口實現(xiàn)類,并配置到Spring當(dāng)中,將該屬性值改為配置的bean的id,否則會報找不到bdf2.userService這個bean的異常。
bdf2.webservice.userCacheBean
String
如果我們對外暴露的Webservice服務(wù),添加了WS-Security認證要求,且外部訪問比較頻繁,這樣頻繁的訪問服務(wù)端每次都需要進行用戶名及密碼的認證,可能會對系統(tǒng)造成一定的壓力,為解決這個問題,這個屬性允許用戶設(shè)置一個實現(xiàn)了org.springframework.security.core.userdetails.UserCache接口的bean的id,利用這個接口,將可以用于訪問Webservice服務(wù)用戶賬號信息緩存起來,當(dāng)用戶調(diào)用Webservice服務(wù)時,就用這個接口當(dāng)中緩存的賬號信息對用戶名密碼進行驗證,這樣可大大減輕服務(wù)端驗證用戶名密碼的壓力。默認為空,表示不用緩存的用戶賬號信息進行認證,而采用bdf2.webservice.userServiceBean屬性定義的bean來進行認證。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號