统一认证与单点登录系统-产品需求规格说明书_第1页
统一认证与单点登录系统-产品需求规格说明书_第2页
统一认证与单点登录系统-产品需求规格说明书_第3页
统一认证与单点登录系统-产品需求规格说明书_第4页
统一认证与单点登录系统-产品需求规格说明书_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机构图标统一认证与单点登录系统产品需求规格说明书文件状态:V草稿 正式发布 止在修改文件标识:BUPT-SSO-RD-PRS当前版本:0.1作者:完成日期:2012-06-02北京邮电大学版本历史版本/状态作者经与名起止日期备注0.1刘润峰2012-05-312012-06-040文档介绍 50.1文档目的 50.2文档范围 50.3读者对象 50.4参考文档 50.5术语与缩写解释 51 产品介绍 72 产品面向的用户群体 73 产品应当遵循的标准或规范 74 产品范围 75 产品中的角色 76 产品的功能性需求 86.0功能性需求分类 86.0.1产品形态 86.1 外部系统管理 96.1

2、.1 外部系统注册 96.1.2 外部系统集成配置 116.2 用户管理 116.2.1 用户管理控制台 116.2.2 用户自助服务 136.2.3 统一用户管理 136.3 组织结构管理 146.4 权限管理 156.4.1 统一角色管理 186.5 单点登录 186.5.1 基于 Httpheader 单点登录 196.5.2 基于表单代填的方式单点登录 206.5.3 基于CAS单点登录 206.5.4 总结 237 产品的非功能性需求 247.1.1 性能需求 247.1.2 接口需求 248 附录B:需求确认 250文档介绍0.1文档目的此文档用于描述统一认证与单点登录系统的产品需

3、求,用于指导设计与开发人员进 行系统设计与实现。0.2文档范围本文档将对系统的所有功能性需求进行消息的描述,同时约定非功能性以及如何与 第三方系统进行交互。0.3读者对象本文档主要面向一下读者:1 .系统设计人员2 .系统开发与测试人员3 .系统监管人员4 .产品甲方管理人员0.4参考文档凯文斯信息技术有限公司单点登录及统一用户技术方案V1.00.5术语与缩写解释缩写、术语解释SSO全称Single Sign On ,单点登录1产品介绍产品全名统一认证与单点登录系统(以下简称系统),英文名称 SSQSSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主

4、要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。此系统是与“凯文斯信息技术有限公司”(以下简称凯文斯)进行合作,由我方独立进行研发。2产品面向的用户群体此系统主要面向企事业单位以及社会组织,最终实现的软件系统将交由凯文斯方进行使用。3产品应当遵循的标准或规范无4产品范围系统最终包含统一用户管理、统一认证、单点登录三个部分,最终应用到基于BS框架的各种应用系统中。系统将采用 BS方式进行实现。5产品中的角色角色名称职责描述系统管理员负责配置和维护系统功能HR管理员负责管理用户信息等普通用户使用系统中提供的用户自助服务6产品的功能性需求6.0功能性

5、需求分类功能类别子功能外部系统管理外部系统信息管理外部系统集成配置用户管理用户管理控制台用户自助管理统一用户管理组织结构管理组织结构管理外部系统组织结构管理权限管理授权管理鉴权管理集成管理外部系统集成6.0.1产品形态一级节点二级节点三级节点所属子系统备注外部系统外部系统管理外部系统配置用户管理用户信息管理注册申请管理组织结构统一组织结构管理外部系统组织结构权限管理用户组管理角色管理角色授权6.1 外部系统管理外部系统管理用于对使用本系统的外部系统进行统一管理,例如包括外部系统注册、外部系统单点登录配置等,只有经过注册的外部系统才能够使用本系统的相关功能。6.1.1 外部系统注册提供外部系统基

6、本信息的管理,所有需要使用本系统的外部系统都需要在本系统进行注册。外部系统对象参考如下:1 .基本类信息a) 外部系统编码作为外部系统的唯一性标识使用b)外部系统名称可读的文本组成,用于界面显示、用户选择等c) 外部系统描述用于对外部系统进行详细性描述2. 业务类信息此类信息主要用于本系统对外部系统的管控a) IP 地址信息(可选)标识外部系统的服务器地址,本系统将只针对从本地址请求的单点登录进行处理,其他情况将为非法请求b) SSO标识用于实现单点登录的服务标识,用于实现单点登录流程3. 辅助类信息此类信息没有实际的业务意义,但有助于管理员对外部系统进行管理a) 隶属组织存储外部系统运行维护

7、的组织b) 联系人c) 联系电话可以存在多个d) 地址e) 电子邮件4. 其他信息a) 测试标记位用于指定此外部系统是否是测试用外部系统,如果是,则不会提供实际业务,仅在测试环境下有效系统提供外部系统的基础增、删、改、查功能,以及导出、导入等功能。6.1.2 外部系统集成配置外部系统集成配置用于针对外部系统的各种集成功能进行相应的配置,主要分为以下方面:1. 统一用户管理2. 统一组织结构管理3. 单点登录有关具体内容请参考后面相关部分功能的集成描述。6.2 用户管理用户管理部分提供统一的用户管理系统。6.2.1 用户管理控制台 用户信息管理用户管理控制台功能为本系统的管理员提供

8、,对系统中所有的用户信息进行一体化管理,包括以下功能:1. 用户添加2. 用户信息修改3. 用户删除4. 用户查询、检索5. 用户调动修改用户隶属的组织结构6. 用户禁用7. 用户启用8. 密码重置9. 用户注册申请审批针对通过用户自助服务提交的申请进行审批。用户对象包括以下属性:1. 基础类信息a) 用户代码用于登录系统使用b) 用户名称用户的可读名称2. 业务类信息a) 用户来源标识用户的来源,可以有两类来源:被系统注册、外部系统导入3. 辅助类信息a) 性别b) 年龄c) 固定电话d) 移动电话e) 证件类型f) 证件号码g) 联系地址h)4. 认证类信息a) 用户密码用于用户登录系统b

9、) 最后登录地址c) 最后登录时间 用户申请管理用户申请管理针对用户通过自助服务提交的用户注册申请进行管理,管理员可以在这里进行申请的审批操作,具体包括:1. 申请查询与显示2. 审批通过3. 审批不通过6.2.2 用户自助服务用户自助服务是为系统用户提供的快捷服务,具体包括以下功能:1. 用户信息修改2. 用户密码修改3. 用户注册用户提交注册申请后,将由管理员在用户管理控制台中进行申请审批6.2.3 统一用户管理统一用户管理是指将本系统与所有外部系统的用户信息进行一体化管理。 用户接口为实现统一用户管理,本系统需要提供合适的外部访问接口便于实现本系统与外部系统的

10、用户信息交互。用户交互的操作如下:1. 用户访问接口此接口用于提供外部系统访问本系统内部用户信息的入口支持依据用户代码、名称等信息的过滤条件查询。2. 用户管理接口具有较高权限的外部访问接口,仅会对部分重要的外部系统开放3. 用户信息同步接口在本系统与外部系统之间进行用户信息同步通信方式:1. 基于中间件的通信基于凯文斯现有中间件产品提供信息通信接口2. Web Service基于 Web Service 技术实现通信接口 外部系统用户接口此接口适用于外部系统存在独立的用户管理系统,并且不易将其改造成统一用户管理的情形下,此时本系统为其提供同一用户与外部系统用户的关系管理,同时未

11、提供单点登录也会外部系统登录用户凭证的管理。外部系统用户接口的组成与用户接口类似,但其中需要对同一用户与外部系统用户中需要提供关系管理。6.3 组织结构管理本系统将提供两种方式的组织结构管理,分别为:1. 统一组织结构管理2. 独立组织结构管理最终形成1+N 方式的组织结构管理模式。统一组织结构管理是指本系统与外部系统的组织结构是一体的,系统提供本系统与外部系统之间的组织结构同步;独立组织结构管理是指本系统提供外部系统组织结构的一个映像,对于每个外部系统都提供一个独立的组织结构映像,本系统内一般仅提供查看功能,所有的组织结构修改都由同步接口进行。对于每个外部系统都需要设置器组织结构管理模式,是

12、统一还是对立。对于用户与组织结构之间的关系,确定如下:1. 用户与每套组织结构中的关系是独立的2. 用户对于一套组织结构只能够隶属于一个组织系统中提供两个功能节点用以实现不同的组织结构管理。1. 组织结构管理组织结构管理对应统一组织结构管理,即为管理模式中的1。组织结构为多层不限层级的树状管理模型。2. 外部系统组织结构管理外部系统组织结构管理对应独立组织结构管理,管理模式为首先在所有独立组织结构管理模式的外部系统中选择一个,然后显示其组织结构组织结构同步接口两种管理模式下的组织结构同步接口是一致的,不同之处仅仅是在不同外部系统进行同步时,将依据外部系统设定的组织结构管理模式的不同对应本系统中

13、的统一组织结构数据还是独立组织结构数据。6.4 权限管理本系统的权限管理仅限于本系统内部使用,不需要为外部系统提供统一授权管理。权限管理系统采用了经典的RBAC权限模型,并在其基础上进行一定的修改。图6-1 权限管理模型在当前模型中,具有以下元素:1 .用户2 .用户组3 .角色4 .功能系统中功能包括节点和节点内操作两种具体形式,的页面,操作是指节点内具体的操作按键(如增加、修必他们之间的关系为:1 .用户与用户组多对一的关系,一个用户只能够属一个用户组,2 .用户组与角色多对多关系3 .角色与功能其中节点是指每一个能够打开工、删除等)一个用户组中可以有多个用户。多对多关系NN图6-2权限管

14、理系统-模块组成权限管理系统分为三大部分:1 .用户认证管理管理用户认证相关的内容,包括a)用户管理管理用户信息b) 用户组管理管理用户组信息c) 认证过程实现用户认证流程2 .用户授权管理管理预授权相关的内容,包括a) 角色管理管理角色信息b) 授权管理6.5.1 基于Httpheader单点登录为角色收取功能权限c) 鉴权过程 实现用户权限鉴别过程3. 用户审计记录用户的系统痕迹,包括a) 登录审计 记录用户登录系统、登出系统信息b) 操作审计 记录用户系统中主要操作的信息c) 审计信息管理 查看已记录的用户审计信息,包括登陆审计信息与操作审计信息。6.4.1 统一角色管理系统可选地提供统

15、一角色管理。统一角色管理是指在多个系统中进行角色的同步。用于暂时此方面的需求不是很明确,所以本系统中仅提供单层的角色管理模型。6.5 单点登录单点登录存在多种实现形式,为了提供更高的兼容性,本系统将以多种方式提供单点登录模式。场景:用户在不同的应用系统中拥有相同的用户名,通过平台登录后,平台会携带着用户的用户名信息或者信任凭据登录后段的应用系统。应用系统通过改造获取请求中携带的用户名信息或者信任凭据并直接登录应用系统1、用户通过平台访问应用2、用户的请求被平台拦截,并要求认证3、认证通过后平台将用户信息或者信任凭据放入httpheader中并向后端应用提交4、后端应用自动解析凭据或用户信息并直

16、接进入登录系统,不需要再次认证应用系统改造逻辑:用户登录后,应用先看请求是否存在认证凭据(用户信息或者信任凭据),如果有 则读取凭证进行认证逻辑,如果没有则返回登录页面要求重新登录6.5.2 基于表单代填的方式单点登录用户名喈罪名称1。船irueruMr11J通州人年3u笈度-156App*ustfrigl. 11userApp4bbbuserothernscr5场景:用户在不同的应用系统中有不同的用户名(账号)和密码。通过统一用户平台和数据同步把这些账号和密码同步到认证平台中的用户映射表中,该表记录了用户和账号的对应关系和密码。当用户登录通过平台登录后端的应用时,平台将该用户对应得账号名和密

17、码带填并提交实现单点登录。1 .用户通过平台访问应用2 .用户的请求被平台拦截,并要求认证3 .认证通过后平台到映射表中查找用户要访问系统的用户名和密码4 .平台自动提交用户名和密码单点登录应用系统6.5.3 基于CAS单点登录 CAS 组成从结构体系看,CAS包含两部分:1. CAS ServerCAS Server负责完成对用户的认证工作,CAS Server 需要独立部署,有不止一种CAS Server 的实现, Yale CAS Server 和 ESUP CAS Server 都是很不错的选择。CAS Server会处理用户名/密码等凭证(Credentials) ,它

18、可能会到数据库检索一条CAS 均提供一种灵活用户帐号信息,也可能在XML文件中检索用户密码,对这种方式,但统一的接口 /实现分离的方式,CAS究竟是用何种认证方式,跟CAS协议是分离的,也就是,这个认证的实现细节可以自己定制和扩展。2. CAS ClientCAS Client 负责部署在客户端(注意,我是指Web应用)。原则上,CAS Client 的部署意味着,当有对本地Web应用的受保护资源的访问请求,并且需要对请求方进行身份认证,Web应用不再接受任何的用户名密码等类似的Credentials ,而是重定向到CASServer 进行认证。目前, CASClient 支持非常多的客户端,

19、包括 Java 、 Net、 ISAPI 、 Php、 Perl 、 uPortal 、Acegi、Ruby、VBScript等客户端,几乎可以这样说,CAS协议能够适合任何语言编写的客户端应用。 CAS 协议CAS是通过 TGT(Ticket Granting Ticket) 来获取 ST(Service Ticket) ,通过 ST 来 访问服务,而 CAS也有对应 TGT, ST的实体,而且他们在保护TGT的方法上虽然有所区别,但是,最终都可以实现这样一个目的 免去多次登录的麻烦。下面,我们看看CAS的基本协议框架:Hnp:/hcllos;erviceC AS Server

20、I lltp: GdSClS CI.SOM)4 liflljcrvivc fI图6-3 CAS基本协议框架上图是一个最基础的CAS协议,CAS Client 以Filter 方式保护 Web应用的受保护资源,过滤从客户端过来的每一个Web请求;同时, CAS Client 会分析HTTP请求中是否包请求 Service Ticket(上图中的Ticket),如果没有,则说明该用户是没有经过认证 的;于是, CAS Client 会重定向用户请求到CAS Server (Step 2 )。Step 3 是用户认证过程,如果用户提供了正确的Credentials , CAS Server 会产生一

21、个随机的ServiceTicket ;然后,缓存该Ticket ,并且重定向用户到CASClient(附带刚才产生的ServiceTicket , Service Ticket是不可以伪造的);最后,Step 5 和 Step 6 是 CAS Client 和CASServer之间完成了一个对用户的身份核实,用 Ticket查到Username,因为Ticket 是CAS Server产生的,因此,所以 CAS Server的判断是毋庸置疑的。该协议完成了一个很简单的任务,就是User(david.turing) 打开IE ,直接访问helloservice 应用,它被立即重定向到CAS Se

22、rver进行认证,User可能感觉到浏览器Service Ticket在 helloservcie 和 casserver 之间重定向,但 User 是看不到,CASClient 和 CASServer 相互间的 Service Ticket 核实(Validation) 过程。当 CAS Server 告知 CAS Client 用户对应确凿身份,CAS Client 才会对当前 Request的用户进行服务。 CAS实现 SSO当我们的Web时代还处于初级阶段的时候,SSO是通过共享 cookies来实现。比如,下面三个域名要做SS。如果通过 CAS来集成这三个应用,那么,这

23、三个域名都要做一些域名映射,因为是同一个域,所以每个站点都能够共享基于 的cookies 。这种方法原始,不灵活而且有不少安全隐患,已经被抛弃了。CAS可以很简单的实现跨域的SSO因为,单点被控制在CAS Server ,用户最有价值白T TGC-Cookie只是跟 CASServer相关,CASServer就只有一个, 因此,解决了 cookies 不能跨域的问题。回到CAS的基础协议图,当Step3完成之后,CASServer会向User发送一个 Ticketgranting cookie(TGC)给User的浏览器,这个 Cookie 就类似 Kerberos 的TGT,下次当 用户被 Helloservice2重定向到 CASServer的时候,CASServer会主动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论