Lotus Lotus Domino/Notes 系统作为邮件系统和协作应用平台已经在众多企业中长期存在, 因其可定制性、开发性、可扩展性等诸多优势而成为用户 IT 部门技术环境中的重要系统。
然而随着近年来企业整合要求的不断增长,尤其是企业统一认证需求的不断提出, Domino 邮件系统中的用户目录(基于 names.nsf 数据库)成为了一个重要的技术讨论议题。和众多独立维护自身用户帐号的应用不同,Domino 系统目录本身是一个开放性的目录,其对 LDAP 协议的遵循也允许其成为企业集中目录的基础。但很多用户从技术现状和管理角度出发,则更希望使用完全独立的安全体系架构中的目录服务器来承担这项任务,例如 IBM Tivoli Direcotry Server。因此我们必须找到对应的方法来使用 LDAP 协议来进行邮件路由以及应用认证、授权。
![]() ![]() |
![]() |
早在 R5 版本,Domino 系统就支持 Directory Assistance 目录服务(DA),通过配置外部的目录服务条目(支持 LDAP 协议目录或 Domino 基于 Names.nsf 的用户目录),实现利用外部目录实现用户的认证和应用的授权。但当时的 DA 并不能够支持利用 LDAP 用户、群组条目实现邮件路由的目标。实现邮件路由,就必须让发送邮件的 Domino 服务器预先了解完整的邮件邮递过程。
这些信息中应包括目标用户的 Domino 网络域名称,Domino 服务器名称,Domino 邮件文件名称,以及源服务器与目标服务器直接的连接路径。 源服务器和目标服务器的连接是可以通过 Domino 目录中的连接文档来体现,而目标用户的网络域、服务器、邮件文件这三个要素由于都存在于用户条目中,由于用户信息都以 LDAP 用户条目的形式存在,所以在 Domino 目录中无法表示,只有通过对 LDAP 用户条目的属性扩展来实现。这三个要素分别对应于 LDAP 的三个属性(attribute):
因此要实现以 LDAP 为用户目录的邮件路由就必须完成以下的工作:
![]() ![]() |
![]() |
为实现上述的理论,我们构建了相应的测试环境用以验证。它包括以下组件:
在这里我们只配置了一台 Domino 邮件服务器,主要是因为跨服务器的邮件路由并非我们的验证目标,能够实现在同一台 Domino 服务器上的邮件路由,就可以完全验证我们的理论和对应的方法;而跨服务器的邮件路由则只需要依靠 Domino 目录中的相应连接文档就可以实现,而不需要 LDAP 中相关配置条目的支持。
![]() ![]() |
![]()
|
在本例中,我们不再赘述 Domino 服务器、IDS 目录服务器、WAS 应用服务器及 IDS Web 管理模块的安装和配置过程。我们将集中讨论在邮件路由相关方面的设置和修改。
首先我们需要的是确定每个用户条目的 schema 和包含的属性内容。根据我们上述原理的描述,每个需要进行用户认证和邮件路由的用户条目应包含以下的必要属性。假设用户简称为 ldapuser05:
dn: uid=ldapuser05,cn=users,dc=ibm,dc=com userid: ldapuser05 userpassword: password maildomain: ibm mailserver: mail01 mailfile: ldapuser05.nsf mail: ldapuser05@ibm mail: ldapuser05@ibm.com |
其中需要说明的是:dn,userid,userpassword 是用户认证的基本属性,maildomain,mailserver,mailfile,mail 是邮件路由需要的基本属性;其中 mail 属性可以设置多值,可以分别表示该用户的 Notes 邮件地址和 Internet 邮件地址。
那我们应该选用什么 schema 或对象来承载这些属性呢?启动 IDS 服务器和 WebSphere 应用服务器,进入 IDS 的管理控制台,选择 shcema management,选择 attribute management,如图:
通过过滤条件查看以 mail 为开始的所有属性,我们可以看到这些属性所归属的 Object class 都包含的 eDominoAccount,而 userid 和 userpassword 则均属于 inetOrgPerson 如图:
为了配合本次的测试工作,我们还将和邮件相关的属性设置为 eDominoAccount 的必要属性,在 eDominoAccount 的属性选择界面中操作如图:
又由于 sn、cn 也是 inetOrgPerson 的基本必要属性,所以也需要添加,如图:
由此,我们可以确定一个基本用户的条目应以至少包含以下的内容:
dn: uid=ldapuser05,cn=users,dc=ibm,dc=com objectclass: inetOrgPerson objectclass: eDominoAccount sn: ldapuser05 cn: ldapuser05 userid: ldapuser05 userpassword: password mail: ldapuser05@ibm mail: ldapuser05@ibm.com maildomain: ibm mailserver: mail01 mailfile: mail\ldapuser05.nsf |
我们可以直接通过管理界面,以 add an entry 的方式录入上述的条目属性从而添加一个用户,如图:
我们也可以更加简便地将上述信息直接编辑为文本文件,例如:user05.txt,通过指令方式加载信息,如图:
让我们再回到 Domino 服务器的配置中,和传统的配置外部目录服务一样,我们会使用 Directory Assistance 模板 da.ntf 创建 da.nsf,并在 da.nsf 中创建一个 LDAP 目录服务的条目,其中 Domain 的名称定义为 ibmldap,并且将 Group Authorization 的选项改为”yes”启用,主要是为了后续对于群组邮件路由的支持。
在具体 LDAP 的配置中,我们需要配置 LDAP 服务器的位置,进行用户信息查询所绑定的凭证信息,为提高查询效率,我们还需要指定搜索的基准条件。当然创建的 da.nsf 需要在对应服务器文档中的 Directory Assistance 数据库名称字段中申明。
接下来,我们当然还需要在 Domino 邮件服务器上按照我们在 LDAP 条目中的定义,为 ldapuser05 这个用户创建邮件文件,并赋予相应的存取控制权限。注意我们创建的邮件文件所在服务器和文件位置,以及 Domino 服务器所属于的 Domino 网络域应和 LDAP 中的用户条目的各项属性保持完全一致。如图:
对我们手工创建的邮件文件,我们还需要进行授权。针对上述 ldapuser05 的用户的邮件文件,我们需要增加的授权条目是 uid=ldapuser05/cn=users/dc=ibm/dc=com,其用户类型为个人,权限为管理者。请务必注意在 Domino 系统中使用“/“为间隔符而不是 LDAP 目录中习惯使用的“,”。
依照上述的配置,我们可以再重复添加几个用户,例如 ldapuser04 等。
为使用方便,同时也可以进一步验证 Domino 对于 LDAP 集成的效果,我们可以选择 Domino WebAccess Redirect (iwaredir.ntf)模板作创建 mailred.nsf 作为用户邮件文件访问的统一入口。Mailred.nsf 会根据用户的登录情况自动判断用户邮件文件的所在位置,因此我们也可以由此判断 LDAP 中的配置信息是否可以被 Domino 服务器正确读取。如图:
通过 mailred.nsf,ldapuser04 用户经过认证后进入邮件处理界面。你可以看到对应的 URL 已经重定向到了正确的地址;点击新建邮件,ldapuser04 在 LDAP 中的真实身份,ldapuser04/users/ibm/com 也以 Domino 的格式正确地显示;我们可以选择用户目录,前期通过 da.nsf 配置的 ibmldap 作为一个独立的地址本供查询使用;我们通过字母 l 进行搜索,可以获得在 LDAP 目录中所有以 l 为开头的用户信息列表。如图:
选择 ldapuser05,我们会看到直接就会显示用户的邮件信息。由于我们为用户配置信息时,使用了多值的形式,即 ldapuser05@ibm 和 ldapuser05@ibm.com 都是合法邮件地址,而 ldapuser05@ibm 居前,因此系统优先使用 Notes 邮件格式作为选择结果。如图:
点击发送,在 Domino 邮件服务器控制台上,可以清楚地看到邮件已经成功地传递到了对应的用户,并存储到用户的邮件文件中去了。如图:
看起来是大功告成了,但我们需要进一步考虑的是,是否 LDAP 协议也支持使用群组的方式进行邮件路由呢?让我们继续参看 LDAP 群组配置过程。
群组是多个用户信息的集合,在群组对象中,每个用户的描述使用的属性是 uniqueMember。在 LDAP 服务管理端,我们可以选择对应的 objectClass 是 groupOfUniqueNames。如图:
依然我们可以通过 add an entry 添加一条群组条目 cn=ldapgroup01,cn=groups,dc=ibm,dc=com,其中包含连个用户条目,uid=ldapuser04,cn=users,dc=ibm,dc=com 和 uid=ldapuser05,cn=users,dc=ibm,dc=com。如图:
依然进入邮件收发界面,创建新邮件,选择用户。这次我们直接输入“ldapgroup“作为前缀,点击 进行查询,我们可以获得所有以 ldapgroup 为开始的条目(包括用户和群组)。如图:
选择 ldapgroup01,准备好邮件内容,点击发送。我们在服务器控制台上可以清楚地看到邮件已经成功地发送到了群组中包括的两个用户那里。如图:
至此,我们就 Domino 使用 LDAP 目录协议进行邮件路由的配置过程结束。
![]() ![]() |
![]() |
其实在写这篇文章之前,已经有不少的用户来咨询过相关的问题和实现方法,我觉得可以完全理解用户的需求和对于 IT 技术架构统一的设想。一方面我们推荐正在使用 Domino 邮件和应用系统的用户可以积极地利用 Domino 目录可以发布为 LDAP 目录的技术特性,通过扩展和修改相应的 Schema 和属性条目,来实现企业的统一用户目录;同时我们也支持用户在以其他产品建立了统一的 LDAP 目录的条件下,利用对外部目录的集成配置,在 Domino 应用系统和邮件系统中实现用户认证、授权和邮件路由。从而实现所谓 Domino 系统中“零用户(除管理员外)”的概念。
这种实现对于完善企业的安全架构,特别是实现企业范围内的统一身份管理,统一认证管理,和多应用系统的单一登录(SSO)具有重要的基础意义,从而可以大大简化身份管理中多目录同步、修改过程中的种种复杂的技术实现过程。
自由广告区 |
![]() |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |