统一用户及权限管理系统概要设计说明书执笔人:K1273-5班涂瑞1.引言1.1编写目的在推进和发展电子政务建设的进程中,需要通过统一规划和设计,开发建设一套统一的授权管理和用户统一的身份管理及单点认证支撑平台。利用此支撑平台可以实现用户一次登录、网内通用,避免多次登录到多个应用的情况。此外,可以对区域内各信息应用系统的权限分配和权限变更进行有效的统一化管理,实现多层次统一授权,审计各种权限的使用情况,防止信息共享后的权限滥用,规范今后的应用系统的建设。本文档旨在依据此构想为开发人员提出一个设计理念,解决在电子政务整合中遇到的一些问题。1.2项目背景随着信息化建设的推进,各区县的信息化水平正在不断提升。截至目前,在各区县的信息化环境中已经建设了众多的应用系统并投入日常的办公使用,这些应用系统已经成为电子政务的重要组成部分。各区县的信息体系中的现存应用系统是由不同的开发商在不同的时期采用不同的技术建设的,如:邮件系统、政府内部办公系统、公文管理系统、呼叫系统、GIS系统等。这些应用系统中,大多数都有自成一体的用户管理、授权及认证系统,同一用户在进入不同的应用系统时都需要使用属于该系统的不同账号去访问不同的应用系统,这种操作方式不仅为用户的使用带来许多不便,更重要的是降低了电子政务体系的可管理性和安全性。与此同时,各区县正在不断建设新的应用系统,以进一步提高信息化的程度和电子政务的水平。这些新建的应用系统也存在用户认证、管理和授权的问题。1.3定义1.3.1专门术语数据字典:对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。数据流图:从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。性能需求:系统必须满足的定时约束或容量约束。功能需求:系统必须为任务提出者提供的服务。接口需求:应用系统与她的环境通信的格式。约束:在设计或实现应用系统时应遵守的限制条件,这些都只是说明用户或环境强加给项目的限制条件。1.3.2缩写SSO:单点登录(SingleSignOn)LDAP:轻量目录访问协议(LightweightDirectoryAccessProtocol)DSE:目录服务代理条目(DSA-specificEntry)ACL:访问控制列表(AccessControlList)JNDI:(JavaNamingandDirectoryInterface)CA:即数字认证技术(CertificateAuthority)SASL:简单认证和安全通道(SimpleAuthenticationandSecureLayer)PKI:公钥基础设施(PublicKeyInfrastructure)SSL:安全套接字层(SecuritySocketLayer)TLS:传输安全通道(TransportLayerSecurity)MD5:信息-摘要算法(Message-DigestAlgorithm5)DCE:分布式计算环境(DistributedComputingEnvirionment)UDDI:统一描述、发现和集成协议(UniversalDescription,DiscoveryandIntegration)1.4参考资料1.软件工程张海藩清华大学出版社1990/112.软件工程及其应用周苏、王文等天津科学技术出版社1992/13.软件工程课程设计李龙澍机械工业出版社2010/42.任务概述2.1目标2.2运行环境由于占用资源少,系统对运行环境的要求不高,理想的系统网络拓扑结构如图2.2.1所示:2.2.1服务器服务器可根据应用的规模选定,可采用各种专用的服务器系统或PC服务器系统(如;SUN服务器,IBM服务器,HP服务器等),使用操作系统可以为SUNSolaris或Linux。2.2.2数据库软件流行的大中型数据库软件,如Oracle、MSSQLServer、DB2、PostgreSQL、SYSBASE等。2.2.3Web应用服务器WebLogic6或以上版本Websphere4或以上版本JRun4或以上版本Resin2.1.4或以上版本Tomcat4或以上版本2.2.4客户端采用B/S结构的子系统运行于Web浏览器之上,硬件要求为Pentium133/32M以上配置。2.3需求概述系统提供统一的用户管理、身份认证及角色定制;一个全面的用户管理基础结构应该能够帮助公司实时地维持统一的用户特征,即便这些用户是为不同的应用系统而创建和使用。统一的用户系统进行统一帐号创建、修改和删除,这使快速推出新的业务成为可能。一个公司应该能拥有一个提供用户全面集中管理的管理层,而不为每个新的应用程序或服务建立分布的用户管理层。各种电子政务应用的用户通过一个全局唯一的用户标示及存储于目录服务中的静态口令或由令牌获得动态口令,到认证服务器进行验证,如验证通过即可可登录到企业信息门户中访问集成的各种应用;可以在系统中维护用户信息并同步到各个应用中;能够根据其在企业的组织机构中的身份定制角色。由于系统面向电子政务的各种应用,提供基于目录的统一用户权限管理及认证,故必须具备标准通用,安全稳定,响应快捷等特点的高性能服务能力。2.4条件与限制3.总体设计3.1总体结构和模块外部设计统一用户及权限管理系统的逻辑结构如下:该系统采用VS.Net体系结构,采用C#编程语言,SqlServer2000数据库开发基于b/s结构的权限管理系统,该系统包括以下4个功能模块,每个模块又包含了几个到十几个不等的功能组,实现了权限管理所需的常用功能,其功能组成大致如下:模块功能组登录页登录页用户授权管理用户基本信息管理、用户包含的角色管理、用户包含的权限管理、用户组织机构管理、用户岗位管理组织机构管理组织机构基本信息管理、岗位基本信息管理、岗位包含的权限管理、岗位认证管理、拥有岗位的用户管理应用权限定制应用系统基本信息管理、应用系统权限组管理、应用系统权限管理、应用系统角色管理系统维护查询系统审计、查询应用审计3.2功能分配各项模块的功能可参照3.1中的说明。客户机程序主要有三大块:接收数据、网络通信及输出部分。服务器程序主要也是由三大功能:接收网络数据、数据库操作及发送网络数据部分。服务器程序需与已建立的SQLSERVER数据库互连,其接口将于下面部分阐述。3.3基于目录服务的系统设计3.3.1目录服务简介目录是一种特殊的数据库,目录服务就是按照树状信息组织模式,实现信息管理和服务接口的一种方法,目录服务是软件、硬件、策论以及管理的集合体;它服务于各种应用程序,包括LDAP(轻量级目录访问协议)目录和基于X.500的目录。这些目录都是通用的标准的目录。它们不适合于特定的操作系统、应用目的;目录服务系统一般由两部分组成:第一部分是数据库,一种分布式的数据库,且拥有一个描述数据的规划;第二部分则是访问和处理数据库有关的详细的访问协议。虽然目录也被称为特殊的数据库,但它不同于真正的数据库。目录的大部分操作为读操作。假如应用程序要写大量的数据,就应该考虑选择使用数据库来实现。目录支持相对简单的事务处理。与文件系统比较:目录被认为是很差的文件系统。文件通常很大,有几兆甚至更大,虽然目录被优化成存取很小的信息。应用程序以块的方式存取文件。文件系统支持各种调用--像seek(),read()和write(),这样可以写大文件的一部分的信息。目录不能提供这种随机的存取访问。目录条目被分成各种属性。你可以分别获取各种属性。你不能取得一个条目的部分值,如从第几个字节开始。与web的比较:不像web服务器一样,目录不适合推送JPEG图像或Java程序给客户端。Web服务通常作为开发web应用的跳板。这些平台从CGI(公用网关接口)到更复杂的像Netscape应用服务平台。目录一般不提供这种形式的应用开发,甚至它不提供目录应用开发平台服务。与FTP的主要区别在于:数据量的大小和客户的类型。另外一点就是FTP是一个非常简单的协议,它专于做一件事情并把它做好。假如你想做的是把文件从一个地方传送到另一个地方,那么额外的目录下层结构也需要,如复制、查询、更新等。与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(DistributedComputingEnvirionment,分布式计算环境)、UDDI(UniversalDescription,DiscoveryandIntegration,统一描述、发现和集成协议);网络资源管理类:MAIL系统、DNS系统、网络用户管理、电话号码簿;电子政务资源管理类:内网组织信息服务、电子政务目录体系、人口基础库、法人基础库。选择目录技术与否可参考以下几个方面信息:*信息量大小。目录适合于存放相对小的信息量,而不是几兆大小的文件;*信息的类型。目录通常是基于属性的信息;*读写比。目录适合于读操作更多的应用。如需要用到大量的写操作,数据库是一个选择;*搜寻能力。目录能搜寻他自身包含的信息;*标准访问。假如你需要标准的访问信息,目录是一个好的选择;3.3.2LDAPLDAP(轻量级目录访问协议,LightweightDirectoryAccessProtocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则一般都非常简单。这种目录可以存储包括个人信息、web链结、jpeg图像等各种信息。为了访问存储在目录中的信息,就需要使用运行在TCP/IP之上的访问协议—LDAP。LDAP四种基本模型:信息模型:描述LDAP的信息表示方式。在LDAP中信息以树状方式组织,在树状信息中的基本数据单元是条目,而每个条目由属性构成,属性中存储有属性值;LDAP中的信息模式,类似于面向对象的概念,在LDAP中每个条目必须属于某个或多个对象类(ObjectClass),每个ObjectClass由多个属性类型组成,每个属性类型有所对应的语法和匹配规则;对象类和属性类型的定义均可以使用继承的概念。每个条目创建时,必须定义所属的对