程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2 Web 服務提供者的安全性(2)

DB2 Web 服務提供者的安全性(2)

編輯:DB2教程

【導讀】在本文中,我們將解釋如何為 DB2 Web 服務提供者應用程序啟用安全性,這包括啟用認證、設置授權和確保消息是加密的。我們還將解釋 Web 服務用戶是如何被映射到數據庫用戶的。

設置數據庫用戶

針對完整的 DADX 文件組,配置數據庫用戶。您可以以明文形式或 base64 編碼的形式在叫做 group.propertIEs 的配置文件中輸入用戶標識和口令,來設置數據庫用戶。但是即使利用編碼,這並不提供真實的安全性,因為口令並沒有被加密。補救措施是設置 Web 服務提供者使用一個數據源(DataSource),然後在 WebSphere 中為該數據源設置用戶。該方法的另一個優點是您可以對於多個數據源使用連接池。

在下一步中,為 dxx_sample 組打開組配置文件,如圖 5 所示。您可以切換到位於窗口左中部的“Project Navigator”視圖來查看該項目中的所有文件。到該文件的路徑是“SecureDADX/Java Resources/groups.dxx_sample/group.propertIEs”。修改前面兩個配置參數為:

initialContextFactory=com.ibm.websphere.naming.WsnInitialContextFactory

datasourceJNDI=jdbc/sampleDataSource

第一個參數“initialContextFactory”是在 WebSphere 中訪問 JNDI(Java 命名和目錄接口)所需要的。第二個參數“datasourceJNDI”是 JNDI 中數據源的名稱。後面,我們將在 WebSphere 中用這個名稱配置數據源。

圖 5. 修改 group.propertIEs

在下一步中,當我們利用 WebSphere 管理控制台工作時,將在 WebSphere 中完成數據源的設置。

設置授權

下面的步驟修改您的 Web 應用程序的部署描述符。單擊位於窗口左下側的 J2EE HIEarchy標簽,然後雙擊 Web 應用程序 SecureDADX,如圖 6 所示。這將打開 Web 應用程序部署描述符編輯器。單擊 Security 標簽,以編輯安全性設置。

圖 6. 打開 Web 應用程序部署描述符

下一步創建一個新的角色。角色是用戶的集合,它類似於操作系統中的組。在該示例中,我們創建一個角色 —— “DADXUser”,以包含所有允許訪問 DADX 的用戶。在一個真實的應用程序中,您可能創建諸如 “accounting”、“engineering” 和 “administrator” 的角色,然後允許它們訪問不同的 DADX 文件。

圖 7. 添加並命名一個角色

在創建角色之後,單擊編輯器中的 Security constraints 標簽。安全性約束類似於數據庫中的“GRANT”語句。不同之處在於它們處理的是 URL,而不是表、存儲過程和其他數據庫對象。我們為完整的 DADX 組創建一個安全性約束。這就是 URL 模式表示為“/db2sample/*”的原因,這是針對 dxx_sample 組中的所有 URL 的 URL 路徑(注意:在 web.XML 部署描述符文件中存在一個從 dxx_sample 到 db2sample URL 的映射)。

如果您希望以相同的約束增強整個 Web 應用程序的安全性,可以使用 URL 模式的其他選項,比如“/*”。或者,如果您希望以這個安全性約束增強一個特定 DADX 的安全性,可以使用 /db2sample/myDADX.dadx/*。您可以具有多種安全性約束,因此有可能將所有的讀操作放在一個 DADX 文件中,而將寫操作放在另一個 DADX 中,然後要求用戶在特定的角色中,以允許執行讀取或者更新操作。

接下來的三個圖展示如何添加安全性約束(圖 8),如何設置正確的 URL 和 HTTP 方法(圖 9)以及如何針對該約束允許“DADXUser”角色(圖 10)。

圖 8. 添加安全性約束

圖 9. 添加新的資源約束

圖 10. 設置已授權的角色

下一步是為我們的 Web 應用程序設置機密性。

HTTPS 通信

在“User Data Constraints”部分,您可以將類型設置為“Confidential”。這意味著所有的通信將通過 HTTPS 完成。這將確保沒有人能夠讀取通過公共網絡發送的消息。

圖 11. 設置機密性

最後一步是,每當用戶引用我們 Web 應用程序中的 Web 頁面、WSDL 和 Web 服務時,就要求用戶進行認證。

URL 認證

在 Web 應用程序部署描述符編輯器中,單擊“Pages”標簽並設置認證類型為 Basic。這意味著 Web 服務客戶機或者 Web 浏覽器需要在 HTTP 頭中提供一個用戶標識和口令。

圖 12. 設置認證

在最後這些步驟中,我們通過雙擊“DefaultEAR”打開企業應用程序部署描述符,如圖 13 所示。

圖 13. 打開應用程序部署描述符

在 EAR 部署描述符編輯器中,我們首先從 Web 應用程序或者它所包含的 war 文件中“收集”安全角色(圖 14)。然後我們通過在角色列表中選擇“DADXUser”來增加一個用戶到該角色(圖 15),然後在“Users/Groups”之下單擊“Add”按鈕。還可能通過這種方式將一組用戶加入到一個角色中。注意,如果該 EAR 被部署到多個機器上,其中用戶並不一定是相同的,您仍然可以在部署時改變角色到用戶或組的映射。

圖 14. 收集角色

圖 15. 向角色添加用戶

我們已經在 ASTK 中完成了 EAR 設置。剩下的一個步驟就是保存 EAR 部署描述符,以及為在 WebSphere中進行部署而將該 EAR 文件導出到文件系統。

圖 16. 導出 EAR 文件

圖 17. 指定 EAR 文件名

應用程序設置已經基本完成了。我們還需要在 WebSphere 中配置安全性,部署我們的應用程序,然後測試它。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved