技术开发 频道

IBM WAS v8.0中LDAP集成介绍与配置

  【IT168 技术】在如今高度共享的互联网时代,企业会面临各种各样复杂的用户存储和管理系统,给企业IT管理带来了繁重的维护成本和问题,企业很希望信息系统能采用标准的用户注册表。轻量级目录访问协议LDAP作为企业WEB应用程序和身份基础设施的管理,能够处理百万条数目。 因此,本文主要分享在IBM WebSphere Application Server v8.0(简称WAS)中如何使用“标准LDAP注册表” 配置LDAP Server 作为管理用户的注册表并且进行LDAP用户身份认证。

  首先,本文会对LDAP和WAS中的标准LDAP注册表做一个简单的介绍,然后开始讲解IBM Tivoli Directory Server 以及如何在WAS v8.0 中配置IBM Tivoli Directory Server的详细步骤,最后会告诉您如何判断您的配置是否成功以及在配置过程中如何排错。

  对于WAS其他版本的LDAP集成,配置方法大致与此相同,只是部分有些细微的差别, 所以您也可以参考本文的步骤去完成配置。

  1. 轻量级目录访问协议(LDAP)介绍

  WAS 提供多种安全用户实现方式,目前Webshphere Application Server v8.0支持四种方式来安全认证访问的用户:

  1.1 本地操作系统用户(Local OS)

  采用本机操作系统用户验证登陆。

  1.2 标准的LDAP注册表(LDAP Register)

  需要安装LDAP服务器,比如IBM Directory Server, IBM Lotus Domino LDAP服务器,SUNNOE或者Microsoft Active Directory Server 等。

  1.3 定制注册表(Custom Register)

  当用户信息存放于非第一或者第二中注册表中时,您可以通过实现 UserRegistry 接口使用产品环境中存放用户信息使用的任何注册表。

  在当前用户和组的信息以某些其他格式(例如,数据库)存放并且无法移到本地操作系统用户或 LDAP 的情况下,请实现WAS的 UserRegistry 接口,这样 WebSphere Application Server 就可以将现有注册表用于所有与安全性相关的操作。

  注意:尽管 WebSphere Application Server 支持不同类型的用户注册表,但只能有一个用户注册表是活动的。

  1.4 联合存储库

  联合存储库是Websphere v6.1以后才有的特性,可以通过配置联合存储库,让它能够使用LDAP外部存储库进行身份认证。该存储库支持同时使用多种存储库进行身份认证,包括 IBM 提供的内置于系统的基于文件的存储库、一个或多个 JDBC 关系数据库存储库 (IBM 提供数据库表的定义和实现 )、一个或多个外部 LDAP 存储库。

  由于本地操作系统的用户本身就需要考虑安全保密的问题,而且密码会经常更改,因此不适宜用于管理控制台安全性设置。定制注册表和联合存储库的方式又太过复杂。因此我们通过标准的LDAP注册表,使用轻量级目录访问协议(LDAP)是我们推荐使用的用户注册表,它利用 LDAP 绑定执行认证。

  WebSphere Application Server 安全性能够支持多数主流 LDAP 目录服务器产品。要将 LDAP 用作用户注册表,您需要知道有效的用户名(标识)、用户密码、服务器主机和端口、基本专有名称(DN)。

  当在WAS中启用安全性时,服务启动需要输入LDAP服务器的标识和密码并由LDAP注册表认证,后面我们在‘测试LDAP是否配置成功’章节中举例说明。如果认证失败,服务器无法启动。因此,选择不会到期或不经常更改的标识和密码是很重要的。如果需要在LDAP注册表中更改WAS管理控制台的用户标识或密码,确保一定要在所有WAS服务启动并正在运行时执行更改,否则WAS将会无法正常启动。如果LDAP注册表中更改了用户标识、密码和其他配置信息,则在WAS管理控制台上也要做相关的更改,然后保存、停止并重新启动所有WAS相关服务器,以使产品使用新的标识或密码。最妥善的办法是,在更改LDAP注册表中信息之前,在WAS的管理控制台上禁用"全局安全性",等LDAP的信息修改完成,再修改WAS管理控制台和其相关的信息,然后启用安全性,再重启WAS。

  2. WAS v8.0中标准LDAP注册表介绍

  IBM WAS 可以借助管理员配置的用户帐号存储库,帮助运行在WAS上面的J2EE 应用程序以标准的J2EE认证方式进行用户身份认证。换言之,J2EE 应用程序可以使用 WAS 上面配置的用户帐号存储库进行统一的用户身份认证。下面是对WAS v8.0中的标准LDAP注册表功能展示:


▲图1 标准LDAP注册表

  3. 使用IBM Tivoli Directory Server作为LDAP服务器

  在WebSphere Application Server产品包中包括了一个专业的目录服务器IBM Tivoli Directory Server(以前的 IBM Directory Server)。IBM Tivoli Directory Server是IBM公司的LDAP目录服务器产品。该目录服务器是目前使用得最为广泛的目录服务器之一。该目录服务器为具有大量用户信息管理的企业提供 用户管理的基础服务。

  在本文的讨论中,我们假定的前提是您已经在另外一台机器上安装好了LDAP服务器,所以这里对LDAP服务器的安装不做介绍。IBM Tivoli Directory Server的安装比较简单,通过图形安装界面的向导即可,请参见其安装文档。

  4. WAS v8.0中配置Tivoli Directory Server的详细步骤

  下面将介绍如何配置‘标准LDAP注册表’,让它能够使用标准的LDAP外部存储库进行身份验证。

  4.1 在启动Websphere Application Server v8.0 后,从地址https://yourhost:9043/ibm/console/启动WebSphere Application Server 管理控制台。如果当前未启用安全性,则可使用任何用户标识登录。如果当前已经启用安全性,则使用预定义的管理标识和密码(这通常是您在配置用户注册表时指定的服务器用户标识)登录,这里我们需要启用安全性。

  注意:如果您的应用程序是通过与WAS中LDAP完成认证,请务必也启用下面的Application Security.

  点击 Security->Global Security在WebSphere Application Server控制台的左边菜单:


▲图2 启用安全性

  4.2 点击‘Configure’去配置标准LDAP注册表,并且记得在配置成功后返回到此页面,点击‘Set as current’。


▲图3 配置

  4.3 进入‘标准LDAP注册表’配置页面后,请确保:

  (a) 输入您自己正确的LDAP服务器访问标识。

  (b) 选择您已经配置好的LDAP Server类型,这里我们使用IBM Tivoli Directory Sever。

  (c) 输入您自己正确的LDAP Server Host和端口号。

  一旦设置成功上面三个地方,点击下面绿色箭头指示的方向。


▲图4 标准LDAP注册表详细配置

  4.4 下来进入LDAP注册表高级配置选项,指定下面具体的值,您所定义在外部LDAP Server的相关属性值。


▲图5 标准LDAP注册高级属性

  4.5 最后,点击 Apply 按钮保存您的配置变更,然后重启Websphere Application Server 使其生效。如果不重启Websphere Application Server,在Websphere Application Server上做的所有变更将不会生效。

  5. 测试LDAP是否配置成功

  标准LDAP注册表配置完成后,可以用三种方法来检测您的配置是否成功:

  5.1 第一种方法,通过上面图四中的‘Test Connection’按钮检查,如果配置成功,当您点击‘Test Connection’按钮,Websphere Application Server 会提示您配置成功,否则告您配置失败。

  5.2 第二种方法,由于我们在图二中启用了安全性配置,如果配置成功,您可以使用LDAP Server 的标识和密码直接访问Websphere Application server 控制台。

  5.2 第三种方法,本例中我们的Websphere Application Server v8.0安装在Aix 6 平台,LDAP配置完成重启Server后,可以通过命令行来检查Server实例的状态,这时候输入LDAP Server的访问标识和密码。如果配置LDAP成功,则会返回Server的状态,否则会告诉您认证失败。(当然,Stop Server 也需要授权LDAP Server 标识和密码。)


▲图6 Server Status

  6. 排错处理在配置LDAP的过程中

  掌握WebSphere 配置 LDAP 的过程中如何进行排错 (trouble shooting) 的技能。如果配置过程中发生错误,最简单的方法是从WAS入手,在WAS的安装目录下面

  /YourInstallDirecotry/WebSphere/AppServer/profiles/AppSrv01/logs/去查看标准系统输出和错误文件 SystemOut.log 和 SystemErr.log。

  7. 小结

  总结我们上面的工作,我们主要是描述了如何在Websphere Application Server v8.0中配置外部的标准LDAP注册表,进而让我们的应用程序能够通过自己配置的LDAP Server 进行身份认证。通常情况下,如果您的LDAP Servver准备就绪,半天时间就可以把您的企业应用移植到IBM Webpshere Application Server(LDAP)身份认证和登陆方式。

  8. 作者简介

  Jokie (冯忠旗) 软件开发工程师

  任职于某大型IT外资企业,主要从事J2ee开发,设计,应用程序架构以及系统性能的分析。目前主要集中在云计算方面(IaaS)的开发,对DevOps,Agile,持续集成,开发,测试自动化等有一定的研究。

1
相关文章