统一用户及权限管理系统需求分析.docx
《统一用户及权限管理系统需求分析.docx》由会员分享,可在线阅读,更多相关《统一用户及权限管理系统需求分析.docx(17页珍藏版)》请在冰豆网上搜索。
统一用户及权限管理系统需求分析
一、概述
用户权限管理系统一直以来都是应用系统不可缺少的一个部分,若每个应用系统单独对系统的权限进行设计,来满足不同系统用户的需求,将会浪费很多时间,所以来设计一个统一用户及权限管理系统是非常有意义的。
本系统旨在对应用系统的所有用户信息进行管理,为不同应用系统地用户分配属性和权限,并为应用系统提供接口以便其进行调用。
二、系统架构需求
2、1功能架构
对于一个大的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。
所以,系统中就提出了对属性进行操作的概念,为权限一致的人员分配同一属性,然后对该属性进行权限分配。
用户权限管理系统应该可以加入到任何带有权限管理功能的系统中。
就像是组件一样的可以被不断的重用,而不是每开发一套管理系统,就要针对权限管理部分进行重新开发。
传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统之间,功能权限是可以重用的,而资源权限则不能。
下图为功能架构图。
2、2技术架构
本系统是基于B/S(Browser/Server,B/S)架构的三层体系结构,即浏览器和服务器结构。
采用Java语言开发,封装对后台数据操纵的细节,并提供安全调用接口。
WEB应用程序通过接口访问系统服务,执行用户操作并返回结果。
系统采用SQLServer2008/MySql数据库和Tomcatweb应用服务器开发,部署在windows服务器下运行。
集成开发工具采用Eclpise/MyEclpise.
2、3系统布局
三、系统功能
3.1系统功能分析
B/S应用系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些XX的非法用户无法登录系统。
系统管理员可以维护所有用户信息,普通管理员可以维护对应系统地用户信息,个人用户可以维护个人用户信息,并且可以为其他应用系统提供接口。
下图为系统功能总图。
图3-1系统功能总图
3.2系统功能模块分析
图3-1系统功能图
(1)应用资源管理
系统管理员将应用系统的信息录入本系统,系统管理员可以对应用系统地信息进行添加、修改、删除等功能。
并为各个应用系统分配应用系统管理员。
(2)用户管理
提供用户的统一管理,系统管理员可以对所有的用户信息进行新增,修改,删除,并为用户分配应用系统资源。
应用系统管理员和一般用户可以浏览所有用户的信息,但是不能进行其他操作。
(3)授权管理
在本模块中,主要包括系统用户管理、属性管理和模块管理。
系统用户管理:
应用系统管理员可以对对应系统的用户进行新增,修改,删除以及初始化密码。
一般用户只可以浏览所有用户信息,不可以进行其他操作。
属性管理:
应用系统管理员可以对用户固有属性进行分配模块资源,取消分配模块资源,查看属性与对应的模块资源信息。
应用系统管理员可以对应用系统角色进行添加、删除操作,以及为角色分配模块资源,取消分配模块资源,查看角色与对应的模块资源信息。
模块管理:
应用系统管理员可以添加新增,修改,删除对应系统地模块资源。
(4)鉴权服务
本模块主要包括登录调用接口、权限调用接口。
登录调用接口:
根据应用系统ID和用户ID判断其是否有登录权限。
权限调用接口:
用户进行某操作时,向本系统发送权限查询请求,本系统根据查询结果返回权限值,决定用户有无权限进行该操作。
(5)日志管理
记录每个用户的登录时间,登录IP及进行的操作。
如果有不合理操作,日志审计员可以限制该用户的操作。
3.3系统功能用例分析
图3-2系统管理员用例关系图
系统管理员可以对各个应用系统的信息进行新增,修改,删除操作,并为应用系统添加应用系统管理员;可以新增,修改,删除用户,以及为用户分配应用系统资源。
图3-3应用系统管理员的用例图
应用系统管理员可以对该应用系统进行新增,修改,删除用户以及初始化用户密码等操作。
可以新增,修改,删除系统角色以及为角色分配模块资源。
可以为用户固有属性分配资源。
可以新增,删除模块。
图3-4一般用户的用例关系图
一般用户经过应用系统管理员添加后可以登录权限管理系统,在本系统中,一般用户可以修改个人的资料,查看本系统中的用户信息,属性信息,模块资源。
图3-5日志审核员的用例关系图
日志审核员通过审计日志对用户的操作进行管理,如果有不合理操作可以进
行限制。
3.4系统时序图分析
用户登录、修改、浏览信息时序图
信息包括(所有用户信息、属性信息、权限信息、用户权限信息、用户属性信息)
系统管理员操作时序图
应用系统管理员操作时序图:
3.5数据需求分析
3.1.1系统数据字典
表3-1用户信息表(master表)
名称
类型
备注
user
Varchar(10)
登录名
userID
Int(5)
自增ID
password
Varchar(10)
登录密码
truename
Varchar(10)
真实姓名
sex
Varchar
(2)
性别
birthday
Time
出生日期
dept
Int(4)
身高
masterid
Int(10)
创建者id
mastername
Varchar(10)
创建者名称
telphone
Varchar(20)
电话
email
Varchar(20)
电子邮件
QQ
Varchar(20)
QQ号码
Address
Varchar(20)
现居住地址
createdate
time
创建时间
updatedate
time
修改时间
表3-2用户属性表表
名称
类型
备注
userID
Int(4)
自增ID号
user
Varchar(10)
登录名
natureid
Int(4)
属性id
sercret
Int(4)
密级
naturename
Varchar(10)
属性名称
Naturetypeid
Int(4)
属性类型编号
表3-3属性表
名称
类型
备注
natureid
Int(4)
属性ID
naturename
Varchar(10)
属性名称
natureinfo
Varchar(50)
属性信息
Naturetypeid
Int(4)
属性类型编号
Naturetype
Varchar(10)
属性类别
mastername
Varchar(10)
创建者名称
createdate
date
创建时间
updatedate
date
修改时间
表3-4应用系统信息表(系统资源表)
名称
类型
备注
Systemname
Varchar(20)
系统名称
Systemid
Int(20)
系统标识
IP
Varchar(10)
IP
Port
Varchar(20)
端口号
//Depatrment
Varchar(100)
主管部门
typeID
Varchar(10)
版本号
Development
Varchar(10)
开发单位
表3-5系统用户表
名称
类型
备注
Systemname
Varchar(20)
系统名称
Systemid
Int(20)
系统编号
user
Varchar(10)
登录名
userID
Int(5)
自增ID
表3-6属性资源表
名称
类型
备注
Systemname
Varchar(20)
系统名称
Systemid
Int(20)
系统编号
natureid
Int(4)
属性ID
naturename
Varchar(10)
属性名称
表3-7系统模块信息表(模块资源表)
名称
类型
备注
modulename
Varchar(20)
模块名称
moduleid
Int(20)
模块编号
Systemid
Int(20)
系统编号
Systemname
Varchar(20)
系统名称
表3-8模块用户表(用户资源表)
名称
类型
备注
modulename
Varchar(20)
模块名称
moduleid
Int(20)
模块编号
user
Varchar(10)
属性ID
userID
Int(5)
属性名称
表3-9模块属性表
名称
类型
备注
modulename
Varchar(20)
模块名称
moduleid
Int(20)
模块编号
natureid
Int(4)
属性ID
naturename
Varchar(10)
属性名称
表3-10日志表
名称
类型
备注
userID
Int(4)
用户ID号
user
Varchar(10)
登录名
Logintime
date
本次登录时间
lastlogintime
date
上次登录时间
LoginIP
Varchar(10)
本次登录IP
LastloginIP
Varchar(10)
上次登录IP
Operation
Varchar(50)
详细操作
表3-11系统管理员表
名称
类型
备注
SystemuserID
Int(4)
用户ID号
Systemuser
Varchar(10)
登录名
Systempwd
Varchar(10)
登录密码
表3-12日志审核员表
名称
类型
备注
noteuserID
Int(4)
用户ID号
noteuser
Varchar(10)
登录名
Notepwd
Varchar(10)
登录密码
表3-12应用系统管理员表
名称
类型
备注
appliuserID
Int(4)
用户ID号
appliuser
Varchar(10)
登录名
applipwd
Varchar(10)
登录密码
Systemid
Int(20)
系统标识
3.1.2系统数据流
数据流名
数据流来源
数据流去向
组成
添加用户信息
普通管理员
用户信息表
用户信息
维护用户信息
普通管理员
用户信息表
用户信息
添加管理员信息
系统管理员
管理员信息表
管理员信息
维护管理员信息
系统管理员
管理员信息表
管理员信息
修改密码信息
用户
用户
用户信息表
修改密码信息
管理员
管理员
管理员信息表
修改密码信息
超级管理员
超级管理员
超级管理员信息表
3.1.3数据库E-R图
图3-5系统总体E-R图
四、数据库设计
4.1硬件指标
服务器应满足的要求:
(1)Cup主频在2.0GHz以上;
(2)内存在4G以上,硬盘在10T以上。
个人电脑应该满足的要求:
(1)Cup主频在1.2GHz以上;
(2)内存在256M以上,硬盘在80G以上
4.2数据库指标
(1)能够准确标识信息,并且要有助于编程人员识别;
(2)能够承受较高的使用频率,每分钟1000次的访问;
(3)具有较快的存取能力;
(4)能够对数据进行及时保存;
(5)能够导入导出数据,并进行数据库备份。
五、平台安全性需求
5.1程序设计安全性
就程设计的安全性,针对现在大多系统的分布式结构,因为同时要面向不同地理位置,不同网络地址,不同级别,不同权限的用户提供服务,稍不留神就可能产生潜在的安全隐患。
如下是最常见的由设计不当产生的安全漏洞分类:
1、输入验证漏洞:
嵌入到查询字符串、表单字段、cookie和HTTP头中的恶意字符串的攻击。
这些攻击包括命令执行、跨站点脚本(XSS)、SQL注入和缓冲区溢出攻击。
2、身份验证漏洞:
标识欺骗、密码破解、特权提升和XX的访问。
3、授权漏洞:
非法用户访问保密数据或受限数据、篡改数据以及执行XX的操作。
4、敏感数据保护漏洞:
泄露保密信息以及篡改数据。
5、日志记录漏洞:
不能发现入侵迹象、不能验证用户操作,以及在诊断问题时出现困难。
对于以上的漏洞,可用的防范措施有:
1、针对输入验证漏洞,在后台代码中必须验证输入信息安全后,才能向服务层提交由用户输入产生的操作。
2、针对身份验证漏洞,程序设计中,用户身份信息必须由服务器内部的会话系统提供,避免通过表单提交和页面参数的形式获取用户身份。
3、针对授权漏洞,在访问保密数据或受限数据时,一定要根据用户身份和相应的权限配置来判断操作是否允许。
4、针对敏感数据漏洞,在储存敏感数据时,一定要采用合适的加密算法来对数据进行加密。
5、针对日志记录漏洞,程序设计中,对改变系统状态的操作,一定要记录下尽可能详细的操作信息,以便操作记录可溯源。
5.2程序部署及操作系统安全性
就程序部署及操作系统安全性而言,可用以下的防范措施:
1、无论部署于何种操作系统,需要保证操作系统在部署前,安装了全部的安全升级补丁,关闭了所有不需要的系统服务,只对外开放必须的端口
2、定期查看所部署服务器系统安全通告,及时安装安全补丁。
3、定期检查系统日志,对可疑操作进行分析汇报。
4、应用服务器程序在服务器中文件系统中的目录结构位置应该尽量清晰。
目录命名需要尽可能的有意义。
5、应用服务器程序不能以具有系统管理员权限的操作系统用户运行。
最好能建立专门的操作系统用户来运行应用服务器。
5、3数据库安全性
就数据库安全性而言,可用以下的防范措施:
1、数据库监听地址要有限制,只对需要访问的网络地址进行监听。
2、制定数据库备份制度,定期备份库中的数据。
3、数据库操作授权限制,对表一级及其以上级别的数据库操作授权不应对应用服务器开放。
5、4网络安全性
就网络安全性而言,可用以下的防范措施:
1、选用企业级防火墙。
2、根据具体网络环境,制定尽可能周密的防火墙规则。
3、需要在外网中传输的数据,应选用合适的加密算法进行加密。
5、5物理安全性
就物理安全性而言,可用以下的防范措施:
1、服务器应部署于专业的数据机房,做好机房管理工作。
2、对于支持热插拔的各种接口,需要在部署前在系统BIOS中关闭。
服务器在运行过程中,应该做好各种防护措施。