简介
雇员工作空间系列 的第 5 部分和第 6 部分将描述如何创建 Document Management portlet 来访问 DB2 Content Manger。然而,这两部分并没有详细讨论身份验证。本文将简要地讨论 Document Management portlet 中所实现的身份验证方法,并展示如何使用另一种身份验证方法来实现单点登录(single sign-on)功能。
系统环境
文中使用了下列产品:
Lotus Workplace for Multiplatforms Version 2.01
IBM DB2 Content Manager for Multiplatforms Version 8.2
IBM DB2 Information Integrator for Content Version 8.2
IBM WebSphere Application Server Version 5.1
IBM WebSphere Studio Application Developer Version 5.1.2
IBM Portal Toolkit Version 5.0.2
IBM DB2 Universal Database Enterprise Version 8.1
本文中的系统环境与雇员工作空间系列中使用的环境之间的主要不同是:我们使用的是 Lotus Workplace 2.01,而非 WebSphere Portal Server 5.0。Lotus Workplace 服务器 2.0.1 是运行在 WebSphere Portal Server 5.0 之上的应用服务器。它提供了一个集成的企业工作环境,该环境允许用户管理邮件、发送即时消息和运行 portlet 应用程序。将 Document Management portlet 迁移到 Lotus Workplace 不需要修改任何代码。
所有的用户信息都存储在一个 LDAP 用户注册表中,以使 Lotus Workplace 和 DB2 Content Manager 中的用户信息保持同步。对于本文中所使用的身份验证方法来说,这是必需的。
凭证保险库
DB2 Content Manager Server 是作为后端服务器与 portlet 集成的,因此当您使用 portlet 访问 DB2 Content Manager 时,需要在服务器上进行身份验证。进行身份验证的方法之一就是通过使用用户名和密码来使用 DB2 Content Manager API。在连接 DB2 Content Manager Server 时,portlet 需要提示输入用户名和密码,或提示使用 portlet 中存储的用户名和密码。
Document Management portlet 在 portlet 的凭证保险库(Credential Vault)中存储凭证(credential)—— 如用户名和密码。凭证是由 portlet 中的每位用户维护的,必须与用户注册表同步。这就向用户隐藏了 DB2 Content Manager 的一些与登录有关的复杂问题。
然而,该方法也有一些缺点。首先,它需要为用户提供用户接口,以维护其 DB2 Content Manager 凭证。其次,在 portlet 和 DB2 Content Manager 服务器共享同一用户注册表服务器时,让用户手工控制凭证与用户注册表之间的同步也不是很方便。最后,它将凭证暴露为用户名和密码,这可能引入一些安全缺陷。
为了避免这些缺陷,您可以使用下面将要讨论的轻量级第三方认证(Light-weight Third Party Authentication,LTPA)令牌方法来提供单点登录功能。
LTPA 令牌
可以使用 LTPA 令牌在服务器之间提供单点登录功能。在将 Lotus Workplace 服务器所在的 WebSphere Application 服务器配置为使用 LTPA 令牌进行单点登录时,LTPA 令牌(是一个 cookie)将包含已验证用户的凭证。
除了使用用户名和密码连接 DB2 Content Manager 服务器的 Java API 之外,DB2 Information Integrator for Content Java API 还提供了非可视(non-visual)的 bean,可以使用 LTPA 令牌作为身份验证的凭证来连接 DB2 Content Manager 服务器。非可视的 bean 不需要用户手工维护其凭证,也不需要将凭证暴露为用户名和密码。但它需要 Lotus Workplace 和 DB2 Content Manager 都接受 LTPA 令牌,以便进行单点登录。
配置 Lotus Workplace 和 DB2 Content Manager
Lotus Workplace 2.0.1
正如上面所提到的,Lotus Workplace 服务器是运行在 WebSphere Portal 服务器之上,而 WebSphere Portal 服务器是运行在 WebSphere Application 服务器上。为了给 Lotus Workplace 服务器配置单点登录,需要启用 WebSphere Application 服务器的单点登录。关于详细的指令,请参阅 Lotus Workplace Information Center 中的小节“Configuring Lotus Workplace products for seamless authentication”(请参阅 参考资料)。
DB2 Content Manager 8.2
为了与使用单点登录功能的 Lotus Workplace 进行集成,需要使用 Content Manager System Administration Client 在 DB2 Content Manager 服务器中执行下列配置: