《用户及资源权限管理设计(1).doc》由会员分享,可在线阅读,更多相关《用户及资源权限管理设计(1).doc(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date用户及资源权限管理设计(1)软件构架文档通用用户管理和权限控制系统软件设计文档版本 1.0 -修订历史记录日期版本说明作者2003/5/121.0创建JavaOA项目组目录1.简介51.1目的51.2范围51.3定义、首字母缩写词和缩略语51.4参考资料51.5概述62.构架表示方式63.构架目标和约束63.1约束63.2目标64.构架机制74.1分析机制74.2分析
2、机制-设计机制-实现机制映射75.用例视图75.1视图75.2用例(use case)85.3操作员(actor)96.类包图96.1概述96.2在构架方面具有重要意义的设计包106.2.1接口(interface)106.2.2基础管理(BasicManage)116.2.2.1组织机构类(department)126.2.2.2组织机构管理类126.2.2.3用户管理类(UserManager)136.2.2.4用户类(user)146.2.2.5角色管理类(RoleManager)156.2.2.6角色类(role)166.2.2.7资源管理类(ResourceManager)176.2
3、.2.8资源类(Resource)176.2.2.9权限管理类(PermissionManager)186.2.2.10权限类(permission)196.2.2.11用户组管理类206.2.2.12用户组类(group)206.2.2.13授权管理类(GrantManager)216.2.2.14用户角色类(user_role)226.2.2.15用户组成员类(UserGroupMember)226.2.2.16角色资源权限类(role_resource_permission)236.2.3访问控制(AccessControl)246.2.3.1会话控制类(SessinControler)
4、246.2.4日志记录(LogRec)256.2.4.1日志类(log)256.2.4.2日志管理类(LogManager)266.2.5底层支持(support)276.2.5.1数据库连接管理类(DatabaseConnectionControler)276.2.5.2LDAP系统连接管理类(LdapSystemConnectionControler)286.2.5.3CA系统连接管理类(CASystemConnectionControler)286.2.5.4系统设置类296.3设计与需求对应关系306.3.1设计功能类与功能需求对应关系306.3.2设计接口类与接口需求对应关系307.
5、组件视图318.部署视图328.1视图329.数据视图3310.交互视图3410.1顺序视图3410.1.1添加一类权限:add a permission3410.1.2添加一项资源:add a resource3510.1.3添加一个角色:add a role3610.1.4添加一个用户:add a user3710.1.5系统管理员登录:administrator login3810.1.6将某资源的一项访问权限授权给某角色:grant a resources access permission to a role3910.1.7用户登录验证:login authenticate4010.
6、1.8访问日志自动记录:record access log4110.1.9资源访问验证:resource access authenticate4210.1.10日志归档:archive log4310.1.11日志恢复:restore log4410.1.12删除日志:delete log4510.1.13添加公共用户组:add a public group4610.1.14添加一个用户自定义组:add a users self_defined group4710.1.15给公共用户组添加成员:add a member to public group4811.质量4911.1可重用性49软件
7、设计文档 1. 简介1.1 目的本文档将从构架和详细设计两方面对通用用户管理和权限控制系统进行综合概述,其中会使用多种不同的构架视图:用例视图、顺序图、协作图、类图、组件图等来描述系统的各个方面,以作为下步编码测试的重要依据。本文档的读者为:公司技术负责人、用户代表、项目经理、设计员、程序员、测试员、评审组成员。1.2 范围 本文档将在通用用户管理和权限控制系统的设计和构建阶段适用,对它的修改将直接影响系统的编码测试和系统构建。 本文档作为通用用户管理和权限控制系统开发过程中设计阶段的输出工件,既从系统整体的架构设计的角度做决定,又包括系统的详细设计。1.3 定义、首字母缩写词和缩略语1.4
8、参考资料资料名称作者译者出版社出版时间书号通用用户管理和权限控制系统项目开发计划Java OA2项目组无无2003年4月通用用户管理和权限控制系统需求规格说明书Java OA2项目组无无2003年5月1.5 概述本文档将从十一个方面对通用用户管理和权限控制系统做出设计规定:简介、构架表示方式、构架目标和约束、用例视图、逻辑视图、组件视图、部署视图、数据视图、交互图、质量。2. 构架表示方式通用用户管理和权限控制系统将采用当前流行的J2EE架构体系来设计构建,系统构架采用遵照UML标准的面向对象建模工具RATIONAL ROSE来表示,将从用例视图、逻辑视图、组件视图、部署视图这几个不同角度来展
9、示系统。用例视图:描述系统的功能(use cases)、外部环境(actors)、use case 和 actors之间的关系(use case diagram)。逻辑视图:主要包括交互图(interaction diagram)、类图(class diagram)。交互图又分时序图(sequence diagram)和协作图(collaboration diagram). 时序图按时间显示信息流;协作图显示对象间的关系和消息;类图显示系统的包和类,显示系统组件及其相互间关系。在架构设计阶段,最有用的是类图,在本系统架构设计文档中,我们也只列出系统类图。组件视图:描述系统的实际结构,展示系统组
10、件如何构成代码库并显示组件间的关系(依赖性关系)。部署视图:描述各组件在物理上的位置关系,展示系统运行时软硬件的实际部署情况。3. 构架目标和约束根据通用用户管理和权限控制系统需求规格说明书的规定,本系统在架构方面有一定的目标和约束条件。3.1 约束必须基于JAVA架构体系3.2 目标本系统构架将实现如下目标:l 重用:为了避免重复劳动,为了降低成本,我们希望能够在以后的开发中重用本系统的代码和设计。l 透明:为了提高效率,我们将把实现的细节隐藏起来,仅把客户最终需求或二次开发需求的接口呈现给客户或二次开发者。这样,具体的实现对客户和二次开发者来说就是透明的。l 延展:由于需求的易变性。我们需
11、要架构具有一定的延展性,以适应未来可能的变化。但是,延展性和稳定性,延展性和简单性都是矛盾的。因此我们需要权衡我们的投入/产出比。以设计出具有适当和延展性的架构。l 简明:一个复杂的架构不论是测试还是维护都是困难的。我们希望架构能够在满足目的的情况下尽可能的简单明了。l 高效:作为要嵌入办公自动化系统中的重要子系统,我们的用户管理和访问控制系统的架构必须是高效的。l 安全:安全是架构的一个很重要的方面。4. 构架机制4.1 分析机制对在分析中使用到的分析机制进行阐述分析机制描述持久性机制需要保存下来以备下次重新使用的一种机制错误报告机制需要对程序运行时发生的错误需要进行某种方式让用户知道的机制
12、安全性机制需要用一种方法保证非授权者不能使用或查看到信息的一种机制4.2 分析机制-设计机制-实现机制映射分析机制设计机制实现机制持久性机制带删除标记的文件保存机制带删除标记的Java序列化机制数据保存机制数据库机制错误报告机制窗口弹出错误信息机制Java的错误报告机制安全性机制操作日志机制系统自动记录所有操作登录机制登录机制5. 用例视图5.1 视图系统用例视图如图5.1,要说明的是考虑视图的篇幅,图中用例之间的关系都没有标明类型,它们都应该为包含关系。图5.15.2 用例(use case) 根据上节视图,本系统共12个关键用例:组织机构管理(department admin)资源管理(r
13、esource admin)角色管理(role admin)权限管理(permission admin)授权管理(grant resources permission to role)用户管理(user admin)日志管理(log admin)日志查询(query log)登录控制(login control)访问控制(access control)日志记录(record log)口令修改(passwd change)5.3 操作员(actor)本系统共两类操作员:系统管理员和外部应用系统。系统管理员利用系统提供的管理界面操作系统管理相关用例,主要是:组织机构管理、资源管理、角色管理、权限管
14、理、授权管理、用户管理、日志管理、日志查询。同时,系统管理员的一切行为也需要通过系统的访问控制,也就是说这些管理用例要使用访问控制相关的后台用例:登录控制、访问控制、日志记录、口令修改。外部应用系统通过本系统提供的统一接口调用系统的访问控制相关用例:登录控制、访问控制、日志记录、口令修改。6. 类包图6.1 概述本系统可分为五个部分(如下图:6.1):接口、基础管理、日志记录、访问控制、底层支持。接口:包括为系统管理员提供的系统管理用户界面和为外部应用系统提供的调用接口。基础管理:包括完成系统基础的管理功能(用户管理、资源管理、角色管理、权限管理、授权管理、用户管理、日志管理、日志查询)的所有
15、类。日志记录:包括完成自动日志记录功能的类。访问控制:包括实现统一登录验证、访问权限验证、会话管理的所有类。底层支持:包括实现数据库连接或其它系统连接的所有类。图6.16.2 在构架方面具有重要意义的设计包6.2.1 接口(interface)系统主要包括12个接口,其中8个用户界面,四个外部调用接口:登录页面(LoginPage)主页(MainPage)资源管理页面(ResourceInfoPage)权限管理页面(PermissionInfoPage)角色管理页面(RoleInfoPage)角色授权页面(GrantManagePage)用户管理页面(UserInfoPage)日志管理页面(L
16、ogManagePage)登录验证接口(LoginCheck)资源访问验证接口(ResourceAccessCheck)记录日志功能接口(RecordLog)口令修改接口(PasswdChange)图6.26.2.2 基础管理(BasicManage)图63 6.2.2.1 组织机构类(department)整体说明中文类名:组织机构类英文类名:department描述:记录组织机构信息一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明机构编码id字符串12位编码规则:机构分级,每3位一级,如001表示是一级机构;001002表示001机构下属的002机构;如此类推。机构全称
17、description字符串50机构简称ShortName字符串20操作说明中文名英文名输入参数输出参数说明6.2.2.2 组织机构管理类整体说明中文类名:组织机构管理类英文类名:DepartmentManager描述:实现组织机构信息的增加、修改、删除、显示、查询一般类:无主动性:YES其它:属性说明中文名英文名数据类型数据约束说明操作说明中文名英文名输入参数输出参数说明增加部门AddDepartment修改部门ModifyDepartmrntDepartmentId删除部门DeleteDepartmentDepartmentId显示部门信息ShowDepartmentDepartmentI
18、dDepartment信息表格搜索部门信息SeekDepartmentDepartmentIdDepartment对象6.2.2.3 用户管理类(UserManager)整体说明中文类名:用户管理类英文类名:UserManager描述:管理用户信息,用户管理相关的所有操作都由它完成。一般类:无主动性:YES其它:属性说明中文名英文名数据类型数据约束说明操作说明中文名英文名输入参数输出参数说明口令修改UserPasswdChange旧口令,新口令加密口令UserPasswdEncrypt口令字符串加密串解密口令UserPasswdDecrypt加密字符串解密后的口令找回口令UserPasswdF
19、ind口令提示问题、问题答案解密后的口令增加用户AddUser用户信息修改用户信息ModifyUserInfo用户名、修改信息删除用户DeleteUser用户名显示用户信息ShowUserInfo用户名用户登录验证UserAuthenticate用户名、口令是否合法用户包括本系统、CA系统、LDAP系统的验证查询用户信息SeekUserInfo用户名资源访问权限验证AccessAuthenticate用户名、资源编码、权限编码是否有该资源的此种权限生成用户授权视图CreateGrantView用户名生成某用户完整的用户授权信息视图,仅在当前会话有效期存在6.2.2.4 用户类(user)整体说
20、明中文类名:用户类英文类名:user描述: 记录用户基本信息一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明用户名name字符串口令passwd字符串提示问题PasswdPromptQuestion字符串问题答案PasswdQuestionResult字符串部门号department字符串真实姓名RealName字符串LDAP用户名LDAPUserName字符串LDAP口令LDAPUserPasswd字符串CA证书路径CACertifyPath字符串操作说明中文名英文名输入参数输出参数说明6.2.2.5 角色管理类(RoleManager)整体说明中文类名:角色管理类英文类
21、名:RoleManager描述: 一般类:无主动性:YES其它:属性说明中文名英文名数据类型数据约束说明操作说明中文名英文名输入参数输出参数说明增加角色AddRole角色信息修改角色信息Modifyrole角色编码、修改信息删除角色DeleteRole角色编码显示角色信息ShowRoleInfo角色编码查询角色信息SeekRole角色编码6.2.2.6 角色类(role)整体说明中文类名:角色类英文类名:role描述: 记录角色定义信息一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明角色编码id字符串角色描述description字符串角色名称ShortName字符串操作说
22、明中文名英文名输入参数输出参数说明6.2.2.7 资源管理类(ResourceManager)整体说明中文类名:资源管理类英文类名:ResourceManager描述: 一般类:无主动性:YES其它:属性说明中文名英文名数据类型数据约束说明操作说明中文名英文名输入参数输出参数说明增加资源AddResource资源信息修改资源信息ModifyResource资源编码、修改信息删除资源DeleteResource资源编码显示资源信息ShowResourceInfo资源编码查询资源信息SeekResource资源编码6.2.2.8 资源类(Resource)整体说明中文类名:资源类英文类名:Reso
23、urce描述: 一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明资源编码id字符串编码规则:资源分级,每3位一级,如001表示是一级资源;001002表示001资源下属的002资源;如此类推。资源描述description字符串资源名称ShortName字符串资源URLURL字符串由此定位资源操作说明中文名英文名输入参数输出参数说明6.2.2.9 权限管理类(PermissionManager)整体说明中文类名:权限管理类英文类名:PermissionManager描述: 一般类:无主动性:YES其它:属性说明中文名英文名数据类型数据约束说明操作说明中文名英文名输入参数输出
24、参数说明增加权限AddPermission权限信息修改权限信息ModifyPermission权限编码、修改信息删除权限DeletePermission权限编码显示权限信息ShowPermissionInfo权限编码查询权限信息SeekPermission权限编码6.2.2.10 权限类(permission)整体说明中文类名:权限类英文类名:permission描述: 一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明权限编码id字符串权限描述description字符串操作说明中文名英文名输入参数输出参数说明6.2.2.11 用户组管理类整体说明中文类名:用户组管理类英文
25、类名:GroupManager描述: 一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明操作说明中文名英文名输入参数输出参数说明添加用户组AddGroup删除用户组DeleteGroup该组成员同时删除添加组成员AddGroupMember删除组成员DeleteGroupMember6.2.2.12 用户组类(group)整体说明中文类名:用户组类英文类名:group描述: 一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明组编码id字符串组描述description字符串组类型public布尔型Yes/no公共组:yes,个人自定义组:no所有者owner
26、字符串公共组则无操作说明中文名英文名输入参数输出参数说明6.2.2.13 授权管理类(GrantManager) 整体说明中文类名:授权管理类英文类名:GrantManager描述:实现将资源的访问权限授予用户角色、角色授予用户或用户组的功能一般类:无主动性:YES其它:属性说明中文名英文名数据类型数据约束说明操作说明中文名英文名输入参数输出参数说明增加角色授权AddRoleGrant对角色的资源访问权限的管理修改角色授权ModifyRoleGrant删除角色授权DeleteRoleGrant用户角色授予AddUserGrant对用户拥有的角色的管理删除角色授予DeleteUserGrant6
27、.2.2.14 用户角色类(user_role)整体说明中文类名:用户角色类英文类名:user_role描述: 一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明用户名name角色编码RoleId操作说明中文名英文名输入参数输出参数说明6.2.2.15 用户组成员类(UserGroupMember)整体说明中文类名:用户组成员类英文类名:UserGroupMember描述: 一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明组编码GroupId字符串成员名name字符串操作说明中文名英文名输入参数输出参数说明6.2.2.16 角色资源权限类(role_res
28、ource_permission)整体说明中文类名:角色资源权限类英文类名:role_resource_permission描述: 一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明角色编码RoleId字符串资源编码ResourceId字符串权限编码PermissionId字符串操作说明中文名英文名输入参数输出参数说明6.2.3 访问控制(AccessControl)图646.2.3.1 会话控制类(SessinControler)整体说明中文类名:会话控制类英文类名:SessinControler描述:实现按预先定义的规则对所有用户会话进行管理一般类:无主动性:YES其它:
29、属性说明中文名英文名数据类型数据约束说明时间设置值TimeOutValue数字会话过期时间操作说明中文名英文名输入参数输出参数说明会话过期TimeOut会话过期,终止用户会话6.2.4 日志记录(LogRec)图656.2.4.1 日志类(log)整体说明中文类名:日志类英文类名:log描述: 一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明用户名name字符串资源访问AccessType布尔YES/NO登录:NO;资源访问:YES访问时间Timedate访问资源ResourceId字符串登录日志则无权限类型PermissionId字符串登录日志则无关键字KeyWord字符
30、串登录日志则无机器地址IP字符串操作说明中文名英文名输入参数输出参数说明6.2.4.2 日志管理类(LogManager)整体说明中文类名:日志管理类英文类名:LogManager描述:完成日志归档、删除、恢复、查询等日志记录信息管理及自动记录操作日志的功能一般类:无主动性:YES其它:属性说明中文名英文名数据类型数据约束说明操作说明中文名英文名输入参数输出参数说明日志归档ArchiveLog导出路径日志压缩导出日志删除DeleteLog时间段日志恢复RecoverLog日志文件日志显示ShowLog日志查询SeekLog自动记录Log6.2.5 底层支持(support)图666.2.5.1
31、 数据库连接管理类(DatabaseConnectionControler)整体说明中文类名:数据库连接管理类英文类名:DatabaseConnectionControler描述: 一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明操作说明中文名英文名输入参数输出参数说明打开连接ConnOpen关闭连接ConnClose6.2.5.2 LDAP系统连接管理类(LdapSystemConnectionControler)整体说明中文类名:LDAP系统连接管理类英文类名:LdapSystemConnectionControler描述: 一般类:无主动性:NO其它:属性说明中文名英
32、文名数据类型数据约束说明操作说明中文名英文名输入参数输出参数说明打开连接ConnOpen关闭连接ConnClose6.2.5.3 CA系统连接管理类(CASystemConnectionControler)整体说明中文类名: CA系统连接管理类英文类名:CASystemConnectionControler描述: 一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明操作说明中文名英文名输入参数输出参数说明打开连接ConnOpen关闭连接ConnClose6.2.5.4 系统设置类整体说明中文类名: CA系统连接管理类英文类名:CASystemConnectionControle
33、r描述: 一般类:无主动性:NO其它:属性说明中文名英文名数据类型数据约束说明LDAP服务器IPLDAPServerIP字符串LDAP服务器名LDAPServerName字符串CA服务器IPCAServerIP字符串CA服务器名CAServerName字符串数据库连接字符串DatabaseConnString字符串连接LDAP系统ConnectToLDAP布尔YES/NO连接CA系统ConnectToCA布尔YES/NO操作说明中文名英文名输入参数输出参数说明系统设置config6.3 设计与需求对应关系6.3.1 设计功能类与功能需求对应关系需求类别需求标识需求功能名称对应设计类用户管理1.
34、1组织机构设置DepartmentManager、department1.2用户信息维护UserManager、user1.3用户组信息维护GroupManager、group、GroupMember权限管理1.4定义可访问资源对象ResourceManager、 resource1.5定义权限PermissionManager、permission1.6定义角色RoleManager、role1.7授权GrantManager、role_resource_permission访问控制1.8用户登录系统UserManager1.9对资源的访问控制UserManager1.10记录用户访问日志L
35、ogManager、AccessLog数据查询2.1用户查询UserManager2.2对用户组查询GroupManager2.3用户访问日志查询LogManager2.4组织机构查询DepartmentManager2.5对角色查询RoleManager2.6对资源对象的查询ResourceManager2.7模糊查询ComplexQueryMaker隐含需求(未规定但实现需要)31系统设置管理SystemConfig6.3.2 设计接口类与接口需求对应关系需求类型接口需求标示接口需求描述对应设计接口类用户功能需求1登录验证功能访问接口UserManage2资源访问验证功能访问接口UserManage3用户口令修改功能访问接口UserManage4口令找回功能接口UserManage5日志记录功能访问接口RecordLog6组管理功能访问接口GroupManage隐含需求(未规定但实现需要7数据库连接管理DatabaseConnectionControler8CA系统连接管理CASystemConnectionControler9LDAP系统连接管理LdapSystemConnectionControler7. 组件视图本系统共有主要组件18个,如下图7.1示,注意图中最下面一排是系统的外部调用接口,而不是真正的系统组件。图7.18. 部署视图8.1 视图
限制150内