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

http://www.itjxue.com  2015-08-21 22:27  来源:未知  点击次数: 

  设置数据库用户

 

  针对完整的 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

  修改 group.properties

  在下一步中,当我们利用 WebSphere 管理控制台工作时,将在 WebSphere 中完成数据源的设置。

  设置授权

  下面的步骤修改您的 Web 应用程序的部署描述符。单击位于窗口左下侧的 J2EE Hiearchy标签,然后双击 Web 应用程序 SecureDADX,如图 6 所示。这将打开 Web 应用程序部署描述符编辑器。单击 Security 标签,以编辑安全性设置。

  图 6. 打开 Web 应用程序部署描述符

  打开 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 应用程序设置机密性。

(责任编辑:IT教学网)

更多

推荐数据库文章