1、统一用户及权限管理系统需求分析一、概述用户权限管理系统一直以来都是应用系统不可缺少的一个部分,若每个应用系统单独对系统的权限进行设计,来满足不同系统用户的需求,将会浪费很多时间,所以来设计一个统一用户及权限管理系统是非常有意义的。本系统旨在对应用系统的所有用户信息进行管理,为不同应用系统地用户分配属性和权限,并为应用系统提供接口以便其进行调用。二、系统架构需求2、1 功能架构对于一个大的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中就提出了对属性进行操作的概念,为权限一致的人员分配同一属性,然后对该属性进行权限分配。用户权限管理系统应该可
2、以加入到任何带有权限管理功能的系统中。就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。下图为功能架构图。2、2 技术架构本系统是基于B/S(Browser/Server,B/S)架构的三层体系结构,即浏览器和服务器结构。采用Java语言开发,封装对后台数据操纵的细节,并提供安全调用接口。WEB应用程序通过接口访问系统服务,执行用户操作并返回结果。系统采用SQL Server2008/My Sql数据库和To
3、mcat web应用服务器开发,部署在 windows服务器下运行。集成开发工具采用Eclpise/MyEclpise.2、3系统布局三、系统功能3.1系统功能分析B/S应用系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些XX的非法用户无法登录系统。系统管理员可以维护所有用户信息,普通管理员可以维护对应系统地用户信息,个人用户可以维护个人用户信息,并且可以为其他应用系统提供接口。下图为系统功能总图。 图 3-1 系统功能总图3.2 系统功能模块分析图3-1 系统功能图(1)应用资源管理系统管理员将应用系统的信息录入本系统,系统管理员可以对
4、应用系统地信息进行添加、修改、删除等功能。并为各个应用系统分配应用系统管理员。(2)用户管理提供用户的统一管理,系统管理员可以对所有的用户信息进行新增,修改,删除,并为用户分配应用系统资源。应用系统管理员和一般用户可以浏览所有用户的信息,但是不能进行其他操作。(3)授权管理在本模块中,主要包括系统用户管理、属性管理和模块管理。系统用户管理:应用系统管理员可以对对应系统的用户进行新增,修改,删除以及初始化密码。一般用户只可以浏览所有用户信息,不可以进行其他操作。属性管理:应用系统管理员可以对用户固有属性进行分配模块资源,取消分配模块资源,查看属性与对应的模块资源信息。应用系统管理员可以对应用系统
5、角色进行添加、删除操作,以及为角色分配模块资源,取消分配模块资源,查看角色与对应的模块资源信息。模块管理:应用系统管理员可以添加新增,修改,删除对应系统地模块资源。(4)鉴权服务 本模块主要包括登录调用接口、权限调用接口。登录调用接口:根据应用系统ID和用户ID判断其是否有登录权限。权限调用接口:用户进行某操作时,向本系统发送权限查询请求,本系统根据查询结果返回权限值,决定用户有无权限进行该操作。(5)日志管理记录每个用户的登录时间,登录IP及进行的操作。如果有不合理操作,日志审计员可以限制该用户的操作。3.3 系统功能用例分析图3-2 系统管理员用例关系图系统管理员可以对各个应用系统的信息进
6、行新增,修改,删除操作,并为应用系统添加应用系统管理员;可以新增,修改,删除用户,以及为用户分配应用系统资源。图 3-3 应用系统管理员的用例图应用系统管理员可以对该应用系统进行新增,修改,删除用户以及初始化用户密码等操作。可以新增,修改,删除系统角色以及为角色分配模块资源。可以为用户固有属性分配资源。可以新增,删除模块。图 3-4 一般用户的用例关系图一般用户经过应用系统管理员添加后可以登录权限管理系统,在本系统中,一般用户可以修改个人的资料,查看本系统中的用户信息,属性信息,模块资源。图3-5 日志审核员的用例关系图日志审核员通过审计日志对用户的操作进行管理,如果有不合理操作可以进行限制。
7、3.4 系统时序图分析用户登录、修改、浏览信息时序图信息包括(所有用户信息、属性信息、权限信息、用户权限信息、用户属性信息)系统管理员操作时序图应用系统管理员操作时序图:3.5 数据需求分析3.1.1系统数据字典表 3-1用户信息表(master表)名称类型备注userVarchar(10)登录名userIDInt(5)自增IDpasswordVarchar(10)登录密码truenameVarchar(10)真实姓名sexVarchar(2)性别birthdayTime出生日期deptInt(4)身高masteridInt(10)创建者idmasternameVarchar(10)创建者名称
8、telphoneVarchar(20)电话emailVarchar(20)电子邮件QQVarchar(20)QQ号码AddressVarchar(20)现居住地址createdatetime创建时间updatedatetime修改时间表3-2用户属性表表名称类型备注 userIDInt(4)自增ID号userVarchar(10)登录名natureidInt(4)属性idsercretInt(4)密级naturenameVarchar(10)属性名称NaturetypeidInt(4)属性类型编号表3-3属性表名称类型备注 natureidInt(4)属性ID naturenameVarcha
9、r(10)属性名称natureinfoVarchar(50)属性信息NaturetypeidInt(4)属性类型编号NaturetypeVarchar(10)属性类别masternameVarchar(10)创建者名称createdate date创建时间updatedatedate修改时间表3-4应用系统信息表(系统资源表)名称类型备注SystemnameVarchar(20)系统名称SystemidInt(20) 系统标识IPVarchar(10)IPPortVarchar(20)端口号/DepatrmentVarchar(100)主管部门typeIDVarchar(10)版本号Devel
10、opmentVarchar(10)开发单位表3-5 系统用户表名称类型备注SystemnameVarchar(20)系统名称SystemidInt(20) 系统编号userVarchar(10)登录名userIDInt(5)自增ID表3-6属性资源表名称类型备注SystemnameVarchar(20)系统名称SystemidInt(20) 系统编号 natureidInt(4)属性ID naturenameVarchar(10)属性名称表3-7 系统模块信息表(模块资源表)名称类型备注modulenameVarchar(20)模块名称moduleidInt(20)模块编号SystemidIn
11、t(20) 系统编号SystemnameVarchar(20)系统名称表3-8 模块用户表(用户资源表)名称类型备注modulenameVarchar(20)模块名称moduleidInt(20)模块编号userVarchar(10)属性IDuserIDInt(5)属性名称表3-9 模块属性表名称类型备注modulenameVarchar(20)模块名称moduleidInt(20)模块编号 natureidInt(4)属性ID naturenameVarchar(10)属性名称表3-10 日志表名称类型备注userIDInt(4)用户ID号 userVarchar(10)登录名Loginti
12、medate本次登录时间lastlogintimedate上次登录时间LoginIPVarchar(10)本次登录IPLastloginIPVarchar(10)上次登录IPOperationVarchar(50)详细操作表3-11系统管理员表名称类型备注SystemuserIDInt(4)用户ID号 SystemuserVarchar(10)登录名SystempwdVarchar(10)登录密码表3-12日志审核员表名称类型备注noteuserIDInt(4)用户ID号 noteuserVarchar(10)登录名NotepwdVarchar(10)登录密码表3-12应用系统管理员表名称类型
13、备注appliuserIDInt(4)用户ID号 appliuserVarchar(10)登录名applipwdVarchar(10)登录密码SystemidInt(20) 系统标识3.1.2 系统数据流数据流名数据流来源数据流去向组成添加用户信息普通管理员用户信息表用户信息维护用户信息普通管理员用户信息表用户信息添加管理员信息系统管理员管理员信息表管理员信息维护管理员信息系统管理员管理员信息表管理员信息修改密码信息用户用户用户信息表修改密码信息管理员管理员管理员信息表修改密码信息超级管理员超级管理员超级管理员信息表3.1.3 数据库E-R图 图 3-5 系统总体E-R图四、数据库设计4.1
14、硬件指标 服务器应满足的要求:(1)Cup 主频在2.0GHz以上;(2)内存在4G以上,硬盘在10T以上。个人电脑应该满足的要求:(1)Cup 主频在1.2GHz以上;(2)内存在256M以上,硬盘在80G以上4.2 数据库指标(1)能够准确标识信息,并且要有助于编程人员识别;(2)能够承受较高的使用频率,每分钟1000次的访问;(3)具有较快的存取能力;(4)能够对数据进行及时保存;(5)能够导入导出数据,并进行数据库备份。五、平台安全性需求5.1 程序设计安全性就程设计的安全性,针对现在大多系统的分布式结构,因为同时要面向不同地理位置,不同网络地址,不同级别,不同权限的用户提供服务,稍不
15、留神就可能产生潜在的安全隐患。如下是最常见的由设计不当产生的安全漏洞分类:1、输入验证漏洞:嵌入到查询字符串、表单字段、cookie 和 HTTP 头中的恶意字符串的攻击。这些攻击包括命令执行、跨站点脚本(XSS)、SQL 注入和缓冲区溢出攻击。2、身份验证漏洞:标识欺骗、密码破解、特权提升和XX的访问。3、授权漏洞:非法用户访问保密数据或受限数据、篡改数据以及执行XX的操作。4、敏感数据保护漏洞:泄露保密信息以及篡改数据。5、日志记录漏洞:不能发现入侵迹象、不能验证用户操作,以及在诊断问题时出现困难。对于以上的漏洞,可用的防范措施有:1、针对输入验证漏洞,在后台代码中必须验证输入信息安全后,
16、才能向服务层提交由用户输入产生的操作。2、针对身份验证漏洞,程序设计中,用户身份信息必须由服务器内部的会话系统提供,避免通过表单提交和页面参数的形式获取用户身份。3、针对授权漏洞,在访问保密数据或受限数据时,一定要根据用户身份和相应的权限配置来判断操作是否允许。4、针对敏感数据漏洞,在储存敏感数据时,一定要采用合适的加密算法来对数据进行加密。5、针对日志记录漏洞,程序设计中,对改变系统状态的操作,一定要记录下尽可能详细的操作信息,以便操作记录可溯源。5.2 程序部署及操作系统安全性就程序部署及操作系统安全性而言,可用以下的防范措施:1、无论部署于何种操作系统,需要保证操作系统在部署前,安装了全
17、部的安全升级补丁,关闭了所有不需要的系统服务,只对外开放必须的端口2、定期查看所部署服务器系统安全通告,及时安装安全补丁。3、定期检查系统日志,对可疑操作进行分析汇报。4、应用服务器程序在服务器中文件系统中的目录结构位置应该尽量清晰。目录命名需要尽可能的有意义。5、应用服务器程序不能以具有系统管理员权限的操作系统用户运行。最好能建立专门的操作系统用户来运行应用服务器。5、3 数据库安全性就数据库安全性而言,可用以下的防范措施:1、数据库监听地址要有限制,只对需要访问的网络地址进行监听。2、制定数据库备份制度,定期备份库中的数据。3、数据库操作授权限制,对表一级及其以上级别的数据库操作授权不应对应用服务器开放。5、4 网络安全性就网络安全性而言,可用以下的防范措施:1、选用企业级防火墙。2、根据具体网络环境,制定尽可能周密的防火墙规则。3、需要在外网中传输的数据,应选用合适的加密算法进行加密。5、5 物理安全性就物理安全性而言,可用以下的防范措施:1、服务器应部署于专业的数据机房,做好机房管理工作。2、对于支持热插拔的各种接口,需要在部署前在系统BIOS中关闭。服务器在运行过程中,应该做好各种防护措施。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1