统一用户管理及认证系统
概要设计说明书
文件状态:
[ ] 草稿
[ ] 正式发布
[√] 正在修改
文件标识:
当前版本:
作
者:
完成日期:
保密级别:
1.0
管策
2005-1-12
机密
公司名称: 北京万维易化系统软件开发有限公司
公司地址: 北京西城区复兴门内大街 158 号远洋大厦 F102 室
邮政编码: 100031
公司网址: WWW.EZCROSS.COM
联系电话: 66412600
真: 66412601
传
修改记录
日期
2005-1-12
版本
1.0
作者/修改者
描述
审核人
管策
新建统一用户管理系统概要设计说明书
目录
第一章 引言 .......................................................................... 1
1.1 编写目的 .............................................................................................................................. 1
1.2 背景 ...................................................................................................................................... 1
1.3 定义 ....................................................................................................错误!未定义书签。
1.4 参考资料 ............................................................................................错误!未定义书签。
第二章 总体设计 ...................................................................... 1
2.1 需求规定 .............................................................................................................................. 1
2.2 运行环境 .............................................................................................................................. 2
2.3 基本设计概念和处理流程 ..................................................................................................3
2.4 结构 ...................................................................................................................................... 8
2.5 功能器求与程序的关系 ......................................................................................................9
2.6 人工处理过程 .................................................................................................................... 10
2.7 尚未问决的问题 ................................................................................................................ 10
第三章 接口设计 ..................................................................... 10
3.1 用户接口 ............................................................................................................................ 10
3.2 外部接口 ............................................................................................................................ 10
3.3 内部接口 ............................................................................................................................ 10
第四章 运行设计 ..................................................................... 10
4.1 运行模块组合 .................................................................................................................... 10
4.2 运行控制 ............................................................................................................................ 11
4.3 运行时间 ............................................................................................................................ 11
第五章 系统数据结构设计 ............................................................. 11
5.1 逻辑结构设计要点 ............................................................................................................ 11
5.2 物理结构设计要点 ............................................................................................................ 11
5.3 数据结构与程序的关系 .................................................................................................... 11
第六章 系统出错处理设计 ............................................................. 11
6.1 出错信息 ............................................................................................................................ 11
6.2 补救措施 ............................................................................................................................ 11
6.3 系统维护设计 .................................................................................................................... 12
统一用户管理及认证系统
概要设计说明书
第一章 引言
1.1 编写目的
在推进和发展信息建设的进程中,需要通过统一的规划和设计,开发建设一套用户统一的身份
管理及单点认证支撑平台。利用此支撑平台可以实现用户一次登录、网内通用,避免多次登录到多
个应用的情况,规范今后的应用系统的建设。
本文档旨在依据此构想为开发人员提出一个设计理念,解决在企业信息整合中遇到的一些问题。
1.2 背景
招商局集团综合办公系统需要集成内部办公系统及其它一些外部应用,如 ActivCard、CSMail、
BBS、视频会议系统等,由于用户要求这些应用能够在企业信息门户中实现单点登录(SSO),这就
要求我们具备一个集中统一的用户管理机制,统一用户管理(UUM)正是一套可以满足用户需求的,
能够组件化的,通用的解决方案;特别是在网络资源查找、用户访问控制与认证信息的查询、新型
网络服务、网络安全、商务网的通用数据库服务和安全服务等方面,都需要应用目录服务技术来实
现一个通用、完善、应用简单和可以扩展的系统。
第二章 总体设计
2.1 需求规定
系统提供统一的用户管理、身份认证及角色定制;一个全面的用户管理基础结构应该能够帮助
公司实时地维持统一的用户特征,即便这些用户是为不同的应用系统而创建和使用。统一的用户系
统进行统一帐号创建、修改和删除,这使快速推出新的业务成为可能。一个公司应该能拥有一个提
供用户全面集中管理的管理层,而不为每个新的应用程序或服务建立分布的用户管理层。
企业各应用的用户通过一个全局唯一的用户标示及存储于目录服务中的静态口令或由令牌获得
动态口令,到认证服务器进行验证,如验证通过即可可登录到企业信息门户中访问集成的各种应用;
可以在系统中维护用户信息并同步到各个应用中;能够根据其在企业的组织机构中的身份定制角色。
由于系统面向于企业的各种应用,提供基于目录的统一用户管理及认证;故必须具备标准通用,
安全稳定,响应快捷等特点的高性能服务能力。
北京市西城区复兴门内大街158 号远洋大厦F102 室100031 电话:66412600 传真:66412601 www.ezcross.com
1
统一用户管理及认证系统
概要设计说明书
2.2 运行环境
由于占用资源少,系统对运行环境的要求不高,理想的系统网络拓扑结构如图 2.2.1 所示:
2.2.1 服务器
[图 2.2]
服务器可根据应用的规模选定,可采用各种专用的服务器系统或 PC 服务器系统(如;SUN 服务
器,IBM 服务器,HP 服务器等),使用操作系统可以为 SUN Solaris 或 Linux。
2.2.2 数据库软件
流行的大中型数据库软件,如 Oracle、MS SQL Server、DB2、PostgreSQL、SYSBASE 等;
2.2.3 Web 应用服务器
WebLogic 6 或以上版本
Websphere 4 或以上版本
JRun 4 或以上版本
Resin 2.1.4 或以上版本
Tomcat 4 或以上版本
2.2.4 客户机
采用 B/S 结构的子系统运行于 Web 浏览器之上,硬件要求为 Pentium133/32M 以上配置。
北京市西城区复兴门内大街158 号远洋大厦F102 室100031 电话:66412600 传真:66412601 www.ezcross.com
2
统一用户管理及认证系统
概要设计说明书
2.3 基本设计概念和处理流程
2.3.1 企业级应用的系统架构设计
2.3.2 基于目录服务的系统设计
1) 目录服务简介
[图 2.3.1]
目录是一种特殊的数据库,目录服务就是按照树状信息组织模式,实现信息管理和服务接口的
一种方法,目录服务是软件、硬件、策论以及管理的集合体;它服务于各种应用程序,包括 LDAP
(轻量级目录访问协议)目录和基于 X.500 的目录。这些目录都是通用的标准的目录。它们不适合
于特定的操作系统、应用目的;目录服务系统一般由两部分组成:第一部分是数据库,一种分布式
的数据库,且拥有一个描述数据的规划;第二部分则是访问和处理数据库有关的详细的访问协议。
虽然目录也被称为特殊的数据库,但它不同于真正的数据库。目录的大部分操作为读操作。假
如应用程序要写大量的数据,就应该考虑选择使用数据库来实现。目录支持相对简单的事务处理。
与文件系统比较:目录被认为是很差的文件系统。文件通常很大,有几兆甚至更大,虽然目录
被优化成存取很小的信息。应用程序以块的方式存取文件。文件系统支持各种调用--像 seek(),read()
和 write(),这样可以写大文件的一部分的信息。目录不能提供这种随机的存取访问。目录条目被分
成各种属性。你可以分别获取各种属性。你不能取得一个条目的部分值,如从第几个字节开始。
与 web 的比较:不像 web 服务器一样,目录不适合推送 JPEG 图像或 Java 程序给客户端。Web
服务通常作为开发 web 应用的跳板。这些平台从 CGI(公用网关接口)到更复杂的像 Netscape 应用
服务平台。目录一般不提供这种形式的应用开发,甚至它不提供目录应用开发平台服务。
与 FTP 的主要区别在于:数据量的大小和客户的类型。另外一点就是 FTP 是一个非常简单的协
北京市西城区复兴门内大街158 号远洋大厦F102 室100031 电话:66412600 传真:66412601 www.ezcross.com
3
统一用户管理及认证系统
概要设计说明书
议,它专于做一件事情并把它做好。假如你想做的是把文件从一个地方传送到另一个地方,那么额
外的目录下层结构也需要,如复制、查询、更新等。
与 DNS 比较:因特网的域名系统和目录有相似之处,它们都提供对分层式数据库的访问。但其
它一些不同把它们区分开来。DNS 的主要目的是把主机名转换成 IP 地址。比较而言,大多数目录
有更普通的作用。DNS 有一套专门的、固定的计划,而目录允许被扩展。DNS 不允许更新它的信息,
而目录可以。DNS 可通过 UDP 的无连接的方式访问,而目录通常是连接访问的。
目录服务与关系型数据库比较,目录不支持批量更新所需要的事务处理功能,目录一般只执行
简单的更新操作,适合于进行大量数据的检索;目录具有广泛复制信息的能力,从而在缩短响应时
间的同时,提高了可用性和可靠性。目前,目录服务技术的国际标准有两个,即较早的 X.500 标准
和近年迅速发展的 LDAP 标准。
X.500:在八十年代中期,两个不同的团体--CCITT 和 ISO,各自开始在目录服务方面的研究工
作。最后,两个国际性的目录规范融合成一个规范,这就是 X.500。X.500 的优势在于它的信息模型,
它的多功能性和开放性。
LDAP:1993 年 7 月,第一个 LDAP 规范是由密歇根大学开发的,也就是 RFC1487。LDAP 的
开发者们简化了笨重的 X.500 目录访问协议,他们在功能性、数据表示、编码和传输方面做了改建。
目前,LDAP 的版本是第 3 版本,相对以前版本来说,第 3 版本在国际化、提名、安全、扩展性和
特性方面更加完善。1997 年,第 3 版本成为因特网标准。
由于 LDAP 所具有的查询效率高、树状的信息管理模式、分布式的部署框架以及灵活而细腻的
访问控制,使 LDAP 广泛地应用于基础性、关键性信息的管理,如用户信息、网络资源信息等。LDAP
的应用主要涉及几种类型。信息安全类:数字证书管理、授权管理、单点登录;科学计算类:
DCE(Distributed Computing Envirionment,分布式计算环境)、UDDI (Universal Description,Discovery
and Integration, 统一描述、发现和集成协议);网络资源管理类:MAIL 系统、DNS 系统、网络用户
管理、电话号码簿;电子政务资源管理类:内网组织信息服务、电子政务目录体系、人口基础库、
法人基础库。
选择目录技术与否可参考以下几个方面信息:
* 信息量大小。目录适合于存放相对小的信息量,而不是几兆大小的文件;
* 信息的类型。目录通常是基于属性的信息;
* 读写比。目录适合于读操作更多的应用。如需要用到大量的写操作,数据库是一个选择;
* 搜寻能力。目录能搜寻他自身包含的信息;
* 标准访问。假如你需要标准的访问信息,目录是一个好的选择;
2) LDAP
LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服
务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定
的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支
持通用数据库针对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则一般
都非常简单。这种目录可以存储包括个人信息、web 链结、jpeg 图像等各种信息。为了访问存储在
目录中的信息,就需要使用运行在 TCP/IP 之上的访问协议—LDAP。
LDAP 四种基本模型:
信息模型:描述 LDAP 的信息表示方式。
在 LDAP 中信息以树状方式组织,在树状信息中的基本数据单元是条目,而每个条目由属性构
成,属性中存储有属性值;LDAP 中的信息模式,类似于面向对象的概念,在 LDAP 中每个条目必
须属于某个或多个对象类(Object Class),每个 Object Class 由多个属性类型组成,每个属性类型有
所对应的语法和匹配规则;对象类和属性类型的定义均可以使用继承的概念。每个条目创建时,必
须定义所属的对象类,必须提供对象类中的必选属性类型的属性值,在 LDAP 中一个属性类型可以
对应多个值。
北京市西城区复兴门内大街158 号远洋大厦F102 室100031 电话:66412600 传真:66412601 www.ezcross.com
4
统一用户管理及认证系统
概要设计说明书
在 LDAP 中把对象类、属性类型、语法和匹配规则统称为 Schema,在 LDAP 中有许多系统对
象类、属性类型、语法和匹配规则,这些系统 Schema 在 LDAP 标准中进行了规定,同时不同的应
用领域也定义了自己的 Schema,同时用户在应用时,也可以根据需要自定义 Schema。这有些类似
于 XML,除了 XML 标准中的 XML 定义外,每个行业都有自己标准的 DTD 或 DOM 定义,用户也
可以自扩展;也如同 XML,在 LDAP 中也鼓励用户尽量使用标准的 Schema,以增强信息的互联互
通。
在 Schema 中最难理解的是匹配规则,这是 LDAP 中为了加快查询的速度,针对不同的数据类
型,可以提供不同的匹配方法,如针对字符串类型的相等、模糊、大于小于均提供自己的匹配规则。
命名模型:描述 LDAP 中的数据如何组织。
LDAP 中的命名模型,也即 LDAP 中的条目定位方式。在 LDAP 中每个条目均有自己的 DN 和
RDN。DN 是该条目在整个树中的唯一名称标识,RDN 是条目在父节点下的唯一名称标识,如同文
件系统中,带路径的文件名就是 DN,文件名就是 RDN。
功能模型:描述 LDAP 中的数据操作访问
在 LDAP 中共有四类 10 种操作:查询类操作,如搜索、比较;更新类操作,如添加条目、删
除条目、修改条目、修改条目名;认证类操作,如绑定、解绑定;其它操作,如放弃和扩展操作。
除了扩展操作,另外 9 种是 LDAP 的标准操作;扩展操作是 LDAP 中为了增加新的功能,提供的一
种标准的扩展框架,当前已经成为 LDAP 标准的扩展操作,有修改密码和 StartTLS 扩展,在新的
RFC 标准和草案中正在增加一些新的扩展操作,不同的 LDAP 厂商也均定义了自己的扩展操作。
安全模型:描述 LDAP 中的安全机制。
LDAP 中的安全模型主要通过身份认证、安全通道和访问控制来实现。
身份认证 在 LDAP 中提供三种认证机制,即匿名、基本认证和 SASL(Simple Authentication and
Secure Layer)认证。匿名认证即不对用户进行认证,该方法仅对完全公开的方式适用;基本认证均
是通过用户名和密码进行身份识别,又分为简单密码和摘要密码认证;SASL 认证即 LDAP 提供的
在 SSL 和 TLS 安全通道基础上进行的身份认证,包括数字证书的认证。
通讯安全 在 LDAP 中提供了基于 SSL/TLS 的通讯安全保障。SSL/TLS 是基于 PKI 信息安全技
术,是目前 Internet 上广泛采用的安全服务。LDAP 通过 StartTLS 方式启动 TLS 服务,可以提供通
讯中的数据保密性、完整性保护;通过强制客户端证书认证的 TLS 服务,同时可以实现对客户端身
份和服务器端身份的双向验证。
访问控制 虽然 LDAP 目前并无访问控制的标准,但从一些草案中或是事实上 LDAP 产品的访
问控制情况,我们不难看出:LDAP 访问控制异常的灵活和丰富,在 LDAP 中是基于访问控制策略
语句来实现访问控制的,这不同于现有的关系型数据库系统和应用系统,它是通过基于访问控制列
表来实现的,无论是基于组模式或角色模式,都摆脱不了这种限制。
LDAP 目录中的信息是按照树型结构组织,具体信息存储在条目(entry)的数据结构中。条目相
当于关系数据库中表的记录;条目是具有区别名 DN(Distinguished Name)的属性(Attribute),DN
是用来引用条目的,DN 相当于关系数据库表中的关键字(Primary Key)。属性由类型(Type)和一
个或多个值(Values)组成,相当于关系数据库中的字段(Field)由字段名和数据类型组成,只是
为了方便检索的需要,LDAP 中的 Type 可以有多个 Value,而不是关系数据库中为降低数据的冗余
性要求实现的各个域必须是不相关的。LDAP 中条目的组织一般按照地理位置和组织关系进行组织,
非常的直观。LDAP 把数据存放在文件中,为提高效率可以使用基于索引的文件数据库,而不是关
系数据库。类型的一个例子就是 mail,其值将是一个电子邮件地址。
LDAP 的信息是以树型结构存储的,在树根一般定义国家(c=CN)或域名(dc=com),在其下则往
往定义一个或多个组织(organization)(o=Acme)或组织单元(organizational units) (ou=People)。一个组
织单元可能包含诸如所有雇员、大楼内的所有打印机等信息。此外,LDAP 支持对条目能够和必须
支持哪些属性进行控制,这是有一个特殊的称为对象类别(objectClass)的属性来实现的。该属性的值
决定了该条目必须遵循的一些规则,其规定了该条目能够及至少应该包含哪些属性。例如:
北京市西城区复兴门内大街158 号远洋大厦F102 室100031 电话:66412600 传真:66412601 www.ezcross.com
5