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

2/9/2008来源:DB2教程人气:5138

  【导读】在本文中,我们将解释如何为 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 中完成数据源的设置。 123下一页   设置授权   下面的步骤修改您的 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 中,然后要求用户在特定的角色中,以答应执行读取或者更新操作。 上一页123下一页   接下来的三个图展示如何添加安全性约束(图 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 中配置安全性,部署我们的应用程序,然后测试它。 上一页123