DB2 Web 服务提供者的安全性(5)
WAS 设置
您可以使用 WebSphere 管理控制台来配置 WebSphere,它是一个基于浏览器的工具。如果您是以默认方式安装了 WebSphere,那么它的位置是 http://localhost:9090/admin/。我们将启用安全性,完成 DataSource 设置并且最终部署我们所创建的 EAR。如果您是在 WebSphere 安装中做这些工作,那么使用 backupConfig 工具来备份旧的工作配置是一个好主意。关于该工具的信息请参见您的 WebSphere 文档。
第一步是在 WebSphere 中打开安全性。这将使得 WebSphere 在 Web 应用程序中强制实施所有的安全性约束。导航至 Security -> User Registries -> Local OS 页面。提供一个用户标识和口令,WebSphere 可以用它们来连接到用户注册表。默认的用户注册表是操作系统,但是 WebSphere 还支持 LDAP 和用户注册表。
图 18. 为 OS 用户注册表设置用户标识
接着,导航至 Security -> Global Security部分,并且选中 Enabled 复选框,如图 19 所示。请确保“Enforece Java 2 Security”是未被启用的。如果它被启用的话,我们将需要利用它所允许访问的文件(例如所有的 DADX 文件)来配置 Java 虚拟机安全配置文件。还要确保“User registry”是默认值(“Local OS”),否则这些指令将不能工作。
图 19. 启用全局安全性
单击 Apply and Save to Master 配置。 打开安全性需要重新启动 WebSphere。假设在 PATH 中具有 WebSphere 目录,您可以在命令行执行这些命令:
stopserver server1 -username wollsch -password mypasswd
startserver server1 -username wollsch -password mypasswd
重新启动之后,打开 WebSphere 管理控制台。如果安全性设置是成功的,现在当您进入 WAS 管理控制台的时候,必须输入用户标识和口令。
导航至 Security -> JAAS Configuration -> J2C Authentication Data部分并单击 New。这将引导您进入一个页面,如图 20 所示。这个用户标识将用于连接到作为我们的数据源的数据库。
图 20. 为数据库用户设置用户标识和口令
导航至 Resources -> JDBC provider部分,单击 New并选择 DB2 Legacy CLI-based Type 2 JDBC driver。输入 db2java.zip JDBC 驱动程序文件的位置,如图 21 所示。使用 “Universal JDBC driver” 或者 JCC JDBC 驱动程序是另外的选项,由于它意味着更多的配置,因此我们没有选择使用。
图 21. JDBC 提供者配置
为了创建数据源,导航至 Resources -> JDBC provider部分并选择您所创建的 DB2 Legacy CLI-based Type 2 JDBC driver,单击 Datasource然后单击 New。这将把您引导至两个对话框,如图 21 和 22 所示。您必须提供一个名称( sampleDataSource)和一个 JNDI 名称( jdbc/sampleDataSource),如图 21 所示。JNDI 名称必须与您在 war 文件中指定的名称相匹配。图 22 显示如何将 JAAS 用户与数据源相联系。所有的连接都将通过该用户进行创建。
图 22. 数据源配置 - 第 1 部分
图 23. 数据源配置 - 第 2 部分
在创建连接之后,测试该连接,如图 24 所示。这将确保您已输入所有正确的数据库和用户信息。如果数据源连接测试或者在调用 DADX Web 服务时发生某些失败,打开 WebSphere 错误日志,也就是打开 logs\server1\SystemErr.log 或者 SystemOut.log 文件,具体位置取决于您是在哪里安装 WebSphere 的。
图 24. 测试数据源配置
在 WebSphere 管理控制台中的最后一步是部署我们已经创建的 EAR 文件。图 24 显示如何指定 EAR 文件的位置。在下面这些页面中,您可以使用所有的默认值,或者如果用户在目标机器上是不同的,则修改角色到用户的映射。
图 25. 安装 EAR 文件
为了启动已经部署的应用程序,导航至 Applications -> Enterprise Applications部分,选择您的应用程序( DefaultEAR)并且选择 Start。
创建 Web 服务客户机
在创建客户机之前,您可以使用内建的浏览器测试环境来测试已经部署的应用程序。通过 Web 浏览器访问 http://localhost:9080/SecureDADX/index.html。您可能会得到一个错误消息,表示来自服务器的证书是无效的。这是因为 WebSphere 只是带有一个自己签署的证书,浏览器不能验证它是否正确。您可以从签名授权机构获得一个官方的证书,或者忽略该消息。试用 list.dadx,并检查您能否以允许访问 Web 服务的用户身份进行连接,同时还应该尝试不允许访问 Web 服务的身份。
在编写客户机程序时,必须确保在调用安全的 Web 服务时客户会提供用户标识和口令。取决于您所使用的 API 和编程环境,工作方式可能会不同,必须参考您的文档。