文章詳情頁
DB2 Web 服務(wù)提供者的安全性(2)(1)
瀏覽:5日期:2023-11-08 08:04:26
【導(dǎo)讀】在本文中,我們將解釋如何為 DB2 Web 服務(wù)提供者應(yīng)用程序啟用安全性,這包括啟用認(rèn)證、設(shè)置授權(quán)和確保消息是加密的。我們還將解釋 Web 服務(wù)用戶是如何被映射到數(shù)據(jù)庫用戶的。 設(shè)置數(shù)據(jù)庫用戶 針對完整的 DADX 文件組,配置數(shù)據(jù)庫用戶。您可以以明文形式或 base64 編碼的形式在叫做 group.properties 的配置文件中輸入用戶標(biāo)識和口令,來設(shè)置數(shù)據(jù)庫用戶。但是即使利用編碼,這并不提供真實的安全性,因為口令并沒有被加密。補(bǔ)救措施是設(shè)置 Web 服務(wù)提供者使用一個數(shù)據(jù)源(DataSource),然后在 WebSphere 中為該數(shù)據(jù)源設(shè)置用戶。該方法的另一個優(yōu)點是您可以對于多個數(shù)據(jù)源使用連接池。 在下一步中,為 dxx_sample 組打開組配置文件,如圖 5 所示。您可以切換到位于窗口左中部的“Project Navigator視圖來查看該項目中的所有文件。到該文件的路徑是“SecureDADX/Java Resources/groups.dxx_sample/group.properties。修改前面兩個配置參數(shù)為: initialContextFactory=com.ibm.websphere.naming.WsnInitialContextFactory datasourceJNDI=jdbc/sampleDataSource 第一個參數(shù)“initialContextFactory是在 WebSphere 中訪問 JNDI(Java 命名和目錄接口)所需要的。第二個參數(shù)“datasourceJNDI是 JNDI 中數(shù)據(jù)源的名稱。后面,我們將在 WebSphere 中用這個名稱配置數(shù)據(jù)源。 圖 5. 修改 group.properties
在下一步中,當(dāng)我們利用 WebSphere 治理控制臺工作時,將在 WebSphere 中完成數(shù)據(jù)源的設(shè)置。 123下一頁 設(shè)置授權(quán) 下面的步驟修改您的 Web 應(yīng)用程序的部署描述符。單擊位于窗口左下側(cè)的 J2EE Hiearchy標(biāo)簽,然后雙擊 Web 應(yīng)用程序 SecureDADX,如圖 6 所示。這將打開 Web 應(yīng)用程序部署描述符編輯器。單擊 Security 標(biāo)簽,以編輯安全性設(shè)置。 圖 6. 打開 Web 應(yīng)用程序部署描述符 下一步創(chuàng)建一個新的角色。角色是用戶的集合,它類似于操作系統(tǒng)中的組。在該示例中,我們創(chuàng)建一個角色 —— “DADXUser,以包含所有答應(yīng)訪問 DADX 的用戶。在一個真實的應(yīng)用程序中,您可能創(chuàng)建諸如 “accounting、“engineering 和 “administrator 的角色,然后答應(yīng)它們訪問不同的 DADX 文件。 圖 7. 添加并命名一個角色 在創(chuàng)建角色之后,單擊編輯器中的 Security constraints 標(biāo)簽。安全性約束類似于數(shù)據(jù)庫中的“GRANT語句。不同之處在于它們處理的是 URL,而不是表、存儲過程和其他數(shù)據(jù)庫對象。我們?yōu)橥暾?DADX 組創(chuàng)建一個安全性約束。這就是 URL 模式表示為“/db2sample/*的原因,這是針對 dxx_sample 組中的所有 URL 的 URL 路徑(注重:在 web.xml 部署描述符文件中存在一個從 dxx_sample 到 db2sample URL 的映射)。 假如您希望以相同的約束增強(qiáng)整個 Web 應(yīng)用程序的安全性,可以使用 URL 模式的其他選項,比如“/*。或者,假如您希望以這個安全性約束增強(qiáng)一個特定 DADX 的安全性,可以使用 /db2sample/myDADX.dadx/*。您可以具有多種安全性約束,因此有可能將所有的讀操作放在一個 DADX 文件中,而將寫操作放在另一個 DADX 中,然后要求用戶在特定的角色中,以答應(yīng)執(zhí)行讀取或者更新操作。 上一頁123下一頁 接下來的三個圖展示如何添加安全性約束(圖 8),如何設(shè)置正確的 URL 和 HTTP 方法(圖 9)以及如何針對該約束答應(yīng)“DADXUser角色(圖 10)。 圖 8. 添加安全性約束 圖 9. 添加新的資源約束 圖 10. 設(shè)置已授權(quán)的角色 下一步是為我們的 Web 應(yīng)用程序設(shè)置機(jī)密性。 HTTPS 通信 在“User Data Constraints部分,您可以將類型設(shè)置為“Confidential。這意味著所有的通信將通過 HTTPS 完成。這將確保沒有人能夠讀取通過公共網(wǎng)絡(luò)發(fā)送的消息。 圖 11. 設(shè)置機(jī)密性 最后一步是,每當(dāng)用戶引用我們 Web 應(yīng)用程序中的 Web 頁面、WSDL 和 Web 服務(wù)時,就要求用戶進(jìn)行認(rèn)證。 URL 認(rèn)證 在 Web 應(yīng)用程序部署描述符編輯器中,單擊“Pages標(biāo)簽并設(shè)置認(rèn)證類型為 Basic。這意味著 Web 服務(wù)客戶機(jī)或者 Web 瀏覽器需要在 HTTP 頭中提供一個用戶標(biāo)識和口令。 圖 12. 設(shè)置認(rèn)證 在最后這些步驟中,我們通過雙擊“DefaultEAR打開企業(yè)應(yīng)用程序部署描述符,如圖 13 所示。 圖 13. 打開應(yīng)用程序部署描述符 在 EAR 部署描述符編輯器中,我們首先從 Web 應(yīng)用程序或者它所包含的 war 文件中“收集安全角色(圖 14)。然后我們通過在角色列表中選擇“DADXUser來增加一個用戶到該角色(圖 15),然后在“Users/Groups之下單擊“Add按鈕。還可能通過這種方式將一組用戶加入到一個角色中。注重,假如該 EAR 被部署到多個機(jī)器上,其中用戶并不一定是相同的,您仍然可以在部署時改變角色到用戶或組的映射。 圖 14. 收集角色 圖 15. 向角色添加用戶 我們已經(jīng)在 ASTK 中完成了 EAR 設(shè)置。剩下的一個步驟就是保存 EAR 部署描述符,以及為在 WebSphere中進(jìn)行部署而將該 EAR 文件導(dǎo)出到文件系統(tǒng)。 圖 16. 導(dǎo)出 EAR 文件 圖 17. 指定 EAR 文件名 應(yīng)用程序設(shè)置已經(jīng)基本完成了。我們還需要在 WebSphere 中配置安全性,部署我們的應(yīng)用程序,然后測試它。 上一頁123

標(biāo)簽:
DB2
數(shù)據(jù)庫
排行榜
