多 LDAP 目录服务器的 FileNet P8 系统介绍和配置实例
摘抄笔记:http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1312multipldap/
多 LDAP 目录服务器的 FileNet P8 系统介绍和配置实例
基本概念
FileNet P8 是整个内容管理以及流程管理平台的统称,需要使用企业级的目录服务器来满足其认证(Authentication)和授权(Authorization)的需求。FileNet P8 有三大核心组件,分别是 Workplace(也称为 Application Engine(AE))和 WorkplaceXT (WPXT),作为其面向终端用户的应用前端;Content Engine(CE),作为内容管理的核心;以及 Process Engine(PE),作为流程管理的核心。关于认证,AE,WPXT 和 CE 都是部署在应用服务器上,认证是通过调用应用服务器的 JAAS 服务(Java Authentication and Authorization Service)来完成的。而 PE 的认证是通过 CE 来完成,所以有关于认证的 LDAP 配置是在应用服务器上完成。而对于授权来说,三大组件都是自己管理授权,所以并没有用到应用服务器 JAAS 服务的授权模块的功能。而用户和组的信息是通过 CE 直接连接 LDAP 服务器来取回的,所以授权部分的配置部是在 CE 的企业管理器(FileNet Enterprise Manager)里完成,我会在接下来的章节里提供更详细的介绍。
而对于目录服务器来说,我们一般都是指 LDAP(轻量目录访问协议)目录服务器,因为大多数的企业级目录服务器都是使用这种协议来进行通讯的。现在 FileNet P8 最新版本是 P8 5.1,支持大多数市面上比较流行的 LDAP 目录服务器,包括 Microsoft Windows Active Directory (AD),IBM Tivoli Directory Server (TDS),Novell eDirectory,Sun Java Directory Server,Oracle Internet Directory,CA Directory。
一般来说,一个企业很可能拥有多种或者是多台 LDAP 服务器,原因可能是多方面的,包括但不限于:
- 针对不同的用途,企业可能拥有多个应用解决方案系统,而不同的系统需要维护自己的 LDAP 服务器,比如 P8 系统和其他应用系统。
- 大型企业,特别是跨国企业,针对不同的地区创建 LDAP 目录服务器,比如中国地区的 AD 目录服务器和美国地区的 AD 目录服务器
- 企业出于合并,收购等原因合并成一个公司,由于历史原因拥有多种 LDAP 服务器
与其花费大量的时间和精力迁移和合并多种或者多台 LDAP 服务器,更好的方法是配置一个多 LDAP 的环境,这就是这片文章的意义所在。
在下一章节中,我将会介绍一个同时拥有 AD 和 TDS 两种目录服务器的 FileNet P8 的实例。虽然文章是围绕这两种特定的 LDAP 产品展开,但是对于配置其他的目录服务器产品也是有指导意义的。涉及的主要概念和配置过程其实大同小异,当然对相关 LDAP 产品的熟悉也是必要的。作为最佳实践的一部分,建议读者跟着本文介绍的系统配置实践一遍,待熟悉整个过程及相关概念之后,再进而选择所需要使用的 LDAP 产品,实现最终需求的多 LDAP FileNet P8 环境。
实例:一个 AD 和 TDS 的多 LDAP FileNet P8 环境
以下假设一个使用 AD 作为目录服务器的 P8 5.1.0 的环境已经创建完成。在此基础上我会简要的介绍一下创建 AD 的过程,重点会放在 TDS 的创建以及后续联合到 P8 环境的配置过程上。
该实例使用的组件如下:
- Microsoft Windows Server 2008 R2
- IBM Tivoli Directory Server (TDS) 6.3 for Windows x86-64
- IBM DB2 9.7.5 Enterprise Server Edition
- IBM Websphere Application Server (WAS) 7.0.0.23
- IBM FileNet Content Engine 5.1.0
- IBM FileNet Process Engine 5.0.0.3
- IBM FileNet Application Engine 4.0.2.13
- Microsoft SQL Server 2008 R2
可以通过登录 Passport Advantage 网站来下载以上 IBM 相关的组件,同时也可以参考以下的技术文档来了解这些组件的安装包代码:
http://www-01.ibm.com/support/docview.wss?uid=swg24029638
创建 AD 目录服务器
相对于创建 TDS 目录服务器来说,创建 AD 服务器是比较简单的,这里就简要的介绍一下。
首先登陆 Windows 2008 Server,选择 Start|Administrative Tools|Server Manager|Roles,点击添加角色来启动引导程序添加角色 Active Directory Domain Services。在启动引导程序的时候,需要事先完成以下操作:
1. 管理员用户有强壮的密码设置
2. 服务器拥有一个静态的 IP
3. Windows 服务器升级了最新的安全补丁
注:该角色会要求安装组件 .NET Framework 3.5.1 。
角色添加成功后,可以看到角色条目中多出了一项 Active Directory Domain Services,如图 1 所示。
图 1. 创建 Active Directory Domain Services
接下来,选择刚刚创建的角色 Active Directory Domain Services,在界面的右手边,启动该角色的安装引导程序。按着引导程序的提示完成域的创建,完成安装。最终该服务器变成预控服务器(Domain Controller)。需要提醒的一点是,AD 不能和 TDS 安装在同一个物理服务器上,其中的一个原因是这会产生端口冲突,因为它们都使用端口 389。
创建 TDS 目录服务器
安装 TDS 6.3
TDS 目录服务器的正常运行需要 DB2 数据库和 Websphere 应用服务器的支持。TDS 使用 DB2 来存储目录信息,而使用 Websphere 来部署其网络管理工具(Tivoli Directory Server Web Administration Tool)。所以在安装 TDS 的时候,安装程序要首先检查是否系统里已经安装了 DB2 和 Websphere。如果没有安装的话,安装程序会安装自带的 DB2 和 Websphere(需要下载完整的安装包)。而笔者实际使用的是 TDS63 的基本安装包,这个包是不包括 DB2 和 Websphere 的安装包的。所以需要事先安装 DB2 数据库和 Websphere 应用服务器。在 DB2 缺失的情况下,安装程序将不会安装 TDS 服务器端组件(如图 2)。而当检测不到 Websphere 的情况下,安装程序将提示需要在安装完成之后,手动的把网络管理工具部署到应用服务器上去(如图 3)。鉴于手动部署比较麻烦,也较可能产生问题,还是建议在启动 TDS 安装程序前,预先安装 Websphere。
图 2. 预装数据库才能安装 TDS Server 6.3
图 3. 当 Websphere 应用服务器缺失的情况下,提示需要事后手动部署
除了以上叙述的需要注意的两点之外,事实上,TDS 的安装还是比较简单的,只要选择默认配置就行,这里就不一一赘述了。安装成功之后,应该看到以下提示:
图 4.TDS 6.3 安装成功完成
安装完成之后,安装程序会自动启动 TDS 实例管理工具(Instance Administration Tool),如图 5。要创建 TDS 目录服务器,首先我们要先创建一个目录服务器实例。在下面一个小节中,我们将会讨论这些内容。
图 5.TDS 实例管理工具
创建TDS实例
在实例管理工具界面的右半部分,点击创建一个目录服务器的实例 (Create an instance),选择创建一个全新的实例。
图 6. 创建新的 TDS 实例
下一步,我们需要创建目录服务器实例的系统用户。而这个用户必须是一个已经存在的系统用户。如果没有事先创建的话,引导程序也允许你直接创建这个用户。需要注意的一点是,建议把用户的密码策略改成永不过期(never expired),这样一方面能减轻管理员的日常维护工作量,另一方面也能避免因为密码过期而产生的问题。如果是使用引导程序创建的系统用户,建议在事后使用操作系统工具进行相应的修改。
图 7. 创建 TDS 实例的系统用户
图 8. 设置 TDS 实例
接下来是配置 DB2 的实例,这里要注意两点:
- 不要选择已经和其他目录服务器实例绑定的 DB2 实例
- DB2 的实例名应该和上一步设置的目录服务器实例的系统用户名一致
图 9. 设置 DB2 实例名
如果一个物理服务器安装了多个网络适配器(所以多个 IP 地址),需要选定 TDS 要绑定的 IP 地址,如图 10 所示。下一步就是设置端口号(如图 11),这里如非必要,建议保持默认的设置。
图 10. 选择 TDS 要绑定的 IP 地址
图 11.TCP/IP 端口设置
基本配置完成之后,可以选择是否要继续配置 TDS 的管理员用户名,密码和配置数据库。这里笔者选择是,进行相关的后续配置。
图 12. 可选步骤
默认情况下,TDS 的实例管理用户名是 cn=root ,在这个实例中,笔者沿用了该设置。
图 13. 设置 TDS 的管理用户
在配置数据库时保持默认设置就行。
图 14. 配置数据库
下一步中,需要配置 TDS 连接 DB2 时的登陆用户以及要创建的 TDS 数据库(如图 15)。这里笔者使用了 DB2 的默认管理用户。对于这个登陆用户,需要注意三点:
- 这个用户必须是已经存在的操作系统用户
- 这个用户必须具有在 DB2 中创建表的权限
- 建议把用户的密码策略改成永不过期。否则,该密码过期会导致 TDS 实例无法正常启动
图 15. 配置数据库的用户名,密码及数据库名
图 16. 验证配置的准确性
当 TDS 实例创建成功之后,会看到如图 17,18 所示的界面。
图 17. 配置成功完成
图 18.TDS 实例创建成功
配置网络管理工具
在这一节中,我们要配置网络管理工具来管理我们的 TDS 实例。在启动之前,要保证 TDS 所对应的 Websphere 是运行的。在启动时,在网络浏览器中输入以下链接:
http://localhost:12100/IDSWebApp/
在最初的登陆窗口出现之后,看起来像是要求输入上节我们设置的 TDS 的实例管理员用户名和密码,来登陆网络管理工具。如果你真这么做的话,唯一的结果就是遭遇登陆失败。事实上,这里需要首先使用控制台管理用户,登陆控制台管理界面 (Console admin)。默认情况下,控制台管理用户是一个内建用户(用户名:superadmin,密码:secret,如图 19)。登陆控制台管理界面的目的在于,虽然我们在前一个小节中已经创建了一个目录服务器的实例 TivAdmin。但是在这个时候,TDS 控制台并不知道有这个实例存在,因而也就无从管理。所以我们下一步就是要通过相关的配置通知控制台,该实例运行在哪个服务器上。具体操作是,在登入控制台后,选择 Console administration | Manage console servers,点击添加键,如图 20。
图 19. 控制台管理器登陆
图 20. 在网络管理工具中注册 TDS 实例
图 21.TDS 实例注册成功
在添加了 TDS 实例之后,登出控制台管理界面,返回网络管理工具登陆框,你会发现登录窗口有了一些变化(如图 22)。现在就可以使用之前定义的实例管理员用户(cn=root)登录到我们定义的 TDS 实例。
图 22. 登陆目录管理工具
目前为止,我们已经完成了对实例和网路管理工具的配置,接下来我们就要开始真正的创建我们的目录结构。
创建目录
首先我们要创建后缀(Suffix)。TDS 把目录数据分成不同的逻辑分区,每一个分区都有一个唯一的名称,也就是后缀。所以我们在定义目录时,首先要先创建后缀。步骤是
- 登录网络管理工具
- 选择 Server administration | Manage server properties | Suffixes . 输入后缀名,点击添加。这里笔者创建了后缀名:dc=tivoliserver1,dc=p851,dc=ibmtest,dc=com
注:在某些情况下,你可能需要重启目录服务器才能见到添加的后缀。重启的话,选择 Server administration | Stop/start/restart server .
图 23. 创建后缀
在创建了后缀,也就是我们的基节点之后,我们就可以在此基础上创建用户和组。选择 Directory adminstration|Manage entries,首先会看到我们刚刚创建的后缀。
图 24. 管理 TDS 条目
在后缀的基础上,分别创建两个组,一个是 groups,另一个 people。
图 25. 创建用户群条目和组群条目
在组 people 下创建一个用户 alexqiu,选择 person 作为该用户的类。除了 cn,sn 这两个必填属性外,另一个重要的属性就是其密码(userPassword),用户名和密码将作为我们登录 P8 系统的凭证,所以不要让它为空值,如图 27 所示。
图 26. 在用户群组条目下创建第一个用户
图 27. 设置用户的密码
在所有的配置完成之后,建议使用第三方的 LDAP 工具来验证刚刚配置完的 TDS 目录服务器,确认是否能用新用户 alexqiu 及密码登录目录服务器。笔者使用的是 LDAP browser,以下是登录成功的提示信息。
图 28.LDAP browser
在 Websphere 中配置 LDAP 目录服务器
在前面的章节我们提到,CE 使用 Websphere 来做验证,也就是验证是否用户是真正存在的,而这个是通过 Websphere 和目录服务的合作来完成的,这个过程中,并不涉及任何的 CE 的代码。所以关于验证的 LDAP 设置完全是在 Websphere 的管理控制台中完成。
在 Websphere 的管理控制台中配置多目录服务器,一个重要的概念就是联合存储库(Federated repositories)。联合存储库的功能使你可以在 Websphere 里同时使用多种资源库,这些资源库可以是基于文件的资源库或者是 LDAP 目录服务器,联合存储库可以把它们组织起来成为一个统一的 realm。关于联合存储库更多的基本概念,请参考文章最后的参考资料,这里就不再赘述。值得一提的是,如果你的 p8 环境起初是配置成独立 LDAP 目录服务器(Standalone),也不用担心,也可以使用下面介绍的方法转变成联合存储库。
在配置多 LDAP 目录服务器的过程中,最常见的问题就是配置完成之后,无法再登陆到 Websphere 管理控制台。这是因为在所有 Websphere 的联合目录服务器中(包括其自带的基于文件的目录),要保证短名字(short name)唯一。比如说在一个目录服务器中有一个用户的 DN 是 cn=test, dc=ldapserver1,dc=com, 另一目录服务存在一个用户的 DN 是 cn=test,dc=ldapserver2,dc=com。这在 Websphere 来看来是不允许的(如果以 cn 为登陆属性的话)。一旦出现这个情况,如果该用户被用于 LDAP 的绑定用户和 Websphere 控制面板的登陆用户,那所有的用户都无法登陆 Websphere。这里提供一个方法,可以在不重装的情况解决这个问题。方法如下:
1. 在 websphere 的 bin 目录下,运行 waadmin -conntype NONE 命令,以下是一个实例:
\IBM\WebSphere\AppServer\profiles\profile\bin\wsadmin -conntype NONE.
2. 进入 wsadmin 提示符后,键入命令 securityoff
3. 键入 exit 退出
4. 重启应用服务器。
5. 进入 Websphere 管理控制台(这时安全设置已经关闭)。修改相关的 LDAP 设置错误,重新激活安全设置。
注:在某些情况下,可能需要重启操作系统才能够重新启动 Websphere 应用服务器。
具体的配置流程如下:
虽然我们也可以选择使用 Websphere 的管理控制台来手动的添加目录服务器,但是作为最佳实践的一部分,还是建议使用 FileNet 自带的配置管理器(Configuration Manager)来操作。该工具操作简单且不易犯错,并且还自带一个测试 LDAP 连接的功能,能够测试 LDAP 的连通性。
首先在 Websphere 联合目录服务器中加入 AD 目录服务器(该操作其实在 P8 环境创建的时候已经完成)。在配置管理器中建立一个 AD 目录服务器条目,并运行。配置如下:
图 29. 使用配置管理器配置 AD 目录服务器
接来下,在 Websphere 联合存储库中加入 TDS 目录服务器。具体做法是在配置管理器中建立一个 TDS 目录服务器条目,并运行,如图 30。
图 30. 使用配置管理器配置 TDS 目录服务器
注:在 Tivoli 里,如果用户类没有被设置成 inetOrgPerson(像本例中,笔者使用 person class),需要进行下面的附加操作:
配置完成之后,在 Websphere 的联合存储库配置中,会看到 AD 和 TDS 目录服务都已经被添加。可以通过选择 User and Groups|Manage Users 或者是 User and Groups|Manage Groups 来验证是否目录服务器已经连通并工作正常。
图 31.AD 和 TDS 目录服务器加入联合存储库
注:使用配置管理器完成添加 LDAP 目录服务器之后,需要重启 Websphere 才能使该配置生效。在重启 Websphere 之前,一定要检查一下是否多 LDAP 目录服务器存在短名字重名的现象,如果是的话,必须及时修改。
在 FileNet 企业管理器中添加 LDAP 目录服务器
到目前为止,虽然我们已经完成了多项配置,但是 CE 仍然不知道 TDS 目录服务器的存在。我们接下来要做的,就是让 CE 知道该如何连接该服务器。并且这部分设置和 CE 的授权有关。实际上,CE 会直接连接目录服务器来完成相关的授权的操作。
具体的配置流程为:
首先登陆企业管理器,选择 Enterprise Manager|Properties|Directory Configuration,点击添加来启动创建目录服务器的引导程序。
图 32.FEM 里的目录服务器配置框
引导程序启动之后,先选择目录服务器的种类以及命名该服务器,这里我们选择 IBM Tivoli。
图 33. 启动引导程序来加入 TDS 目录服务器
接下来配置目录服务器的主机名及服务用户。
图 34. 一般性 TDS 配置
下一步就是配置用户和组的信息。
图 35. 配置绑定用户信息
图 36. 配置用户群组信息
引导程序的最后一步是对所有之前配置的一览表,建议在点击完成之前再重新确认一遍。配置成功之后,会看到 Tivoli 目录服务器显示在列表当中。
图 37.TDS 成功加入
这里还要着重强调的一点是,不管企业管理器中配置了多少个 LDAP 目录服务器,都要保证这些服务器是正常运行的并且和 CE 服务器是连接畅通的。因为在 CE 启动的时候,会尝试连接所有的登记在册的 LDAP 目录服务器。任何一个目录服务器出了问题,CE 都不能正常的运行。一旦发生这种问题,对终端用户意味着:
1. 登陆企业管理器失败,如图 38。
2. 登陆客户端应用程序比如 Workplace 失败,如图 39。
作为最佳实践的一部分,建议使用第三方的 LDAP 浏览器来直接连接目录服务器,从而验证是否目录服务器可以连通并工作正常。
图 38. 登陆 FEM 失败
图 39. 登陆 Workplace 失败
多 LDAP 目录服务器的 FileNet P8 系统介绍和配置实例的更多相关文章
- Confluence 6 在你的 LDAP 目录中优化用户和用户组数量
连接 LDAP 服务器能为你的用户管理提供灵活高效的解决方案.为了达到优化的性能,后台同步程序将会从 LDAP 上查找和下载数据同步到你本地的 Confluence 服务器数据库上同时还会定时的更新数 ...
- 将 LDAP 目录用于 Samba 认证
原文地址: http://www.ibm.com/developerworks/cn/education/linux/smb-ldap/smb-ldap.html 开放源码 Samba 将 Unix ...
- 在 Confluence 6 中连接一个 LDAP 目录
希望将 Confluence 连接到一个 LDAP 目录: 在屏幕的右上角单击 控制台按钮 ,然后选择 General Configuration 链接. 在左侧的面板中单击 用户目录(User Di ...
- Confluence 6 使用 LDAP 授权连接一个内部目录 - 服务器设置
名字(Name) 名字的描述将会帮助你在目录中识别.例如: Internal directory with LDAP Authentication Corporate LDAP for Authent ...
- FileNet P8 Content Engine 的分布式部署架构
摘抄笔记:http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1307wanghaining/ 前言 对于集团公司,企业内 ...
- Installing a single-server IBM FileNet P8 Platform system with IBM Content Navigator
Product documentation Abstract You can install all of the IBM FileNet P8 Platform components on a si ...
- PHP LDAP 目录协议函数库
在 LDAP 的协议之中,很像硬盘目录结构或倒过来的树状结构.LDAP 的根就是全世界,第一级是属于国别 (countries) 性质的层级,之后可能会有公司 (organization) 的层级,接 ...
- FileNet P8 工作流生命周期管理和 Process Engine API 应用介绍
摘录:https://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0902wangzheng/ FileNet P8 工作流生 ...
- Sharepoint 2013 多服务器域的目录服务器和搜索服务的配置
一般而言,大部分的sharepoint的管理工作均可以通过Centrlal Admin完成,可惜这个操作不得不要用powershell. 假如Webfront服务器叫 WebServer 目录服务器叫 ...
随机推荐
- 训练深度学习网络时候,出现Nan 或者 震荡
出现Nan : 说法1: 说法2:说法3: 震荡 : 分析原因: 1:训练的batch_size太小 1. 当数据量足够大的时候可以适当的减小batch_size,由于数据量太大,内存不够 ...
- Echarts 新认知 地图的label到底怎么居中?
试过了offset和很多Api,都无法实现label居中 后来无意中发现,原来在geojson注册的时候,可以定义 properties.cp 属性,实现文本的坐标自定义,实现居中. echarts. ...
- RxJava学习笔记(组合Observables)(转)
组合Observable 当我们需要处理多个Observable的时候,我们可以通过Rxjava的组合函数来创建我们自己想要的Observable. Merge RxJava的 merge() 方法将 ...
- win7 安装mysql 5.7.9记录
-------------------------------------------------------------------------- 1. 将配置文件my.ini配置好,放到c:/wi ...
- 2012版辅助开发工具包(ADT)新功能特性介绍及安装使用
原文链接:http://android.eoe.cn/topic/android_sdk 2012年的Android辅助设备开发工具包(ADK)是Android开放设备协议(AOA)设备的最新参考实现 ...
- ios--网页js调用oc代码+传递参数+避免中文参数乱码的解决方案(实例)
此解决方案原理: 1.在ViewController.h中声明方法和成员变量,以及webView的委托: // // ViewController.h // JS_IOS_01 // // Cr ...
- PCIE 调试过程记录
遇到的问题 PCIE link不稳定 配置空间读写正常,Memory mapping空间读写异常 缘由 之前对PCIE的认识一直停留在概念的阶段,只知道是一个高速通讯协议,主要用于板内.板间的高速BU ...
- [na]ip包格式
网络层提供的服务就是在不同网段之间转发数据包. Ip包结构 1,格式(每行4byte*5) 2,版本 V4 V6 3,首部长度 20(固定)+可变长度 ,区分服务 Win2008开始:gpedit. ...
- 自定义Django中间件(登录验证中间件实例)
前戏 我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面.我们通过给几个特定视图函数加装饰器实现了这个需求.但是以后添加的视图函数可能也需要加上装饰 ...
- IBM研究院找到度量安全性方法:容器与虚拟机,谁更安全?
https://zhuanlan.zhihu.com/p/40446759 虚拟机比容器更安全吗?你可能会有自己的答案,但IBM研究院发现容器的安全性与虚拟机一样,甚至更加安全. 一般来说,从接口宽度 ...