Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103783202
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-13 00:05:31

   来源:IBM   

【导读】在本文中,我们将解释如何为 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 中配置安全性,部署我们的应用程序,然后测试它。

阅读(393) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~