基于web的通用权限管理系统的设计与实现_第1页
基于web的通用权限管理系统的设计与实现_第2页
基于web的通用权限管理系统的设计与实现_第3页
基于web的通用权限管理系统的设计与实现_第4页
基于web的通用权限管理系统的设计与实现_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、基于web的通用权限管理系统设计与实现1 研究现状 权限管理技术的理论研究开始于20世纪60年代末70年代初,所权限管理,就是通过某种途径显示地准许或限制访问能力及范围,从而限制对关键资源的访问,防止非法用户的侵入或者合法用户的不慎操作造成破坏。随着计算机技术和应用的发展,特别是互联网的发展,应用系统对于权限管理的需求开始迅速增加。在随后40年的发展历程中,人们在权限管理技术的研究方面取得了很大的成果,先后出现过多种权限管理访问控制技术。20世纪80年代到90年代初,自主权限管理自主访问控制技术、强制访问控制技术得到了美国国防部制定的橘皮书-可信计算机评估准则的认证。但是,近几年来,人们普遍感

2、到DAC和MAC的权限管理技术无法满足现今日趋复杂的应用系统的安全需求。因此,基于角色的权限管理(RBAC),便成为人们研究访问控制技术的重点和热点。2 可行性研究可行性研究是对项目进行可行性调研和论证,确定项目开发的价值和意义以及是否可以付诸实施。其目的是在对比投入和产出的基础上考虑利用目前的资源、成本等因素能否实现一个系统以及是否会创造价值或带来实际的意义。可行性分析可行性分析一般可定义为,可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。2.1社会可行性分析通用权限管理系统的开发 符合国家法律 ,能够与社会大系统实现良

3、好的对接。2.2 技术可行性分析开发通用权限管理系统具备所需要的条件。开发通用权限管理系统使用的MS Visual Studio 2008系统开发工具。Windows系列操作系统已经是普遍使用的系统,所以在技术上是成熟的。2.3经济可行性分析开发通用权限管理系统只需普通配置的计算机,在开发经费上没有问题。开发通用权限管理系统所投入的资金与系统投入使用后所带来的经济效益相比较,通用权限管理会给信息管理系统带来一定的经济效益。2.4管理可行性分析通用权限管理系统现行的管理体制具有现代化的管理意识和管理水平。在系统中,每个人都有自己的用户名和密码,因此在管理上可行。综上所述,开发通用权限管理系统在目

4、标上 、技术上 、经济上 、管理上都是可行的。3 需求分析需求分析是软件开发的重要阶段。在需求分析阶段我们可以理清思路、澄清概念,最终形成一个完整的、清晰的、一致的系统需求,来帮助我们更好的进行系统开发,实现系统功能,满足用户需求。3.1 面向对象的需求分析方法面向对象分析获得系统功能需求的方法与传统软件工程过程中需求分析的不同。其核心内容包括:划分子系统、确定参与者(角色,可以是人也可以使其他子系统)并明确其关系、获得参与者用例并明确用例之间的关系、绘制用例图。用例图即最终获得的系统用例模型,该图应当能够将系统中所有的功能需求或者其中某一方面的功能需求表达出来,所有这些用例图所表达的功能之和

5、应该同用户提出的功能相吻合。(1)划分子系统一个复杂的系统往往通过功能划分为若干小的模块,称为子系统。划分子系统的目的是使复杂的问题简单化。每个子系统还可以再划分子系统,所有这些子系统都被看作是对象进行数据(字段和属性)和操作(方法)的封装。(2)确定参与者参与者是指与系统交互的人或其他程序,是所有用例的执行者。在UML中使用一个人形的图标表示。需要注意的是参与者不是指人或其他程序本身,而是指它在系统中扮演的角色,比如小明是以系统管理员的身份登录系统,参与者就是系统管理员。(3)获取用例 从用户的角度来看,一个用例(USE CASE)就是参与者完成的一项不可再分割功能,比如注册到一个网站。UM

6、L对用例的标准定义如下:用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。用例之间的关系主要包括泛化、包含、扩展三种。(4)绘制用例图用例图(USE CASE DIAGRAM)由参与者(Actor)、用例(USE CASE)、关系(RELATIONS)和系统边界等元素组成。其中关系包括用例之间的关系、参与者之间的关系、参与者和用例之间的关系。参与者之间的关系主要是泛化,因为参与者也是参与到系统中的类。参与者和用例的关系就是简单的关联。3.2权限管理系统描述权限管理是一个软件非常重要的组成部分。一个完善的信息管理系统,关系到很多部门。他们各尽其责

7、,互相配合,互相制约。所以,我们的电脑软件权限要细分,才能满足用户的需求。我们的系统采用两级权限管理,先分用户角色,每个角色分派一定权限,权限的功能可以大部门是控制到窗口级,部门窗口限制还达到按钮级。然后每一个用户可以扮演某一个角色或多个角色,从而构成了我们严密的权限分级系统。权限管理严密,安全性高,支持加密。安全权限可以细化到字段,真正实现了不同级别的人看不同的文件,实现一次登陆全网通行。下面就来介绍一下权限管理系统操作的具体情况。3.2.1 用户操作(1) 根据自己的喜好,对用户密码进行改动,并存入数据库。(2) 根据用户需要,在自己的权限内对系统的数据库进行查询,获得所需的数据。(3)

8、根据用户的角色代码,使用户在进入主界面的时候进入相应的部门操作。3.2.2 管理员操作(1) 根据企业的用人要求,给员工分配权限,把用户的资料输入数据库中存储起来。(2) 当用户的职位发生改变的时候,及时更新用户资料,再把新资料存档。(3) 根据企业发展情况,对企业的权限、角色进行细分,可以进行相应的增。加、删除与修改。3.3用例建模在确定了系统中的角色以后,进一步分析系统需求,按照角色不同得到系统用例。3.3.1系统参与者(1) 管理员:管理日志,增加、删除、修改角色,增加、修改、删除部门为用户分配权限等等管理用户操作。(2) 用户:在管理员分配的权限内进行操作。3.3.2用例图系统管理员的

9、角色用例如下:(1)应用列表管理:添加应用列表。(2)应用模块管理:新增应用模块,并且给应用模块分类。(3)用户资料管理:新增用户、用户资料查询和修改用户资料。(4)部门资料管理:新增部门、排序子部门、修改部门资料和移除本门资料。(5)角色资料管理:新增角色、修改角色、给角色新增应用和给角色设置限。(6)应用字段设定:设置字段。(7)事件日志管理:日志查询。(1)系统管理员的总用例图如下:图3.1系统管理员的总用例图(2)管理员对角色管理用例图图3.2管理员对角色管理的用例图(3) 管理员对部门管理用例图图3.3管理员对部门操作的用例图(4) 管理员对用户管理用例图图3.4管理员对用户管理模块

10、操作用例图用户在权限管理系统中拥有管理员赋予的权限,能在自己权限内进行操作,因此用例图与管理员的用例图大同小异,在此就不用再画出来了。3.3.3 用例规约 用例规约的内容如下所示。用例名称:用来指定用例名称。用例描述:用来简单说明用例的作用。前置条件:在执行用例之前系统必须处于的状态。事件流:系统完成用例执行所需要的所有操作。后置条件:在用例执行结束以后系统必须处于另一状态。(1)修改密码用例规约用例名称:修改密码。用例描述:用来修改管理员或者用户登录时的密码。前置条件:管理员或者用户在系统中。事件流:a管理员或者用户进入个人设定。b输入原始密码验证密码是否正确,正确进入下一步否者修改密码失败

11、。c输入新密码。d再次输入新密码。e验证两次密码输入一致否则修改密码失败。f提交到数据库提示密码修改完成。后置条件:密码修改成功。(2) 用例名称:设定权限用例规约。 用例描述:管理员给用户设定一定的权限使用户在权限内能进行部分操作 前置条件:在系统内。 事件流: a管理员登录系统进入角色管理页。 b打开一个角色,点击修改角色权限。 c修改角色权限然后点确定。 d提交数据库权限设定完成。后置条件:权限设置成功。 (3) 用例名称:新增用户用例规约 。 用例描述:新增加一个用户。 前置条件:在系统内。 事件流:a管理员进登录系统进入部门资料管理。 b打开新增用户按钮。 c输入用户名和用户密码,

12、设定用户类型。 d 提交数据库,新增用户完成。后置条件: 新增用户完成。 (4) 用例名称:新增部门用例规约 用例描述: 管理员新增一个部门。 前置条件: 在系统内。 事件流: a管理员登录系统进入部门资料管理。 b点击新增用户按钮。 c输入新增部门名称。 d提交数据库新增不猛成功。 后置条件:新增部门完成。 4总体设计完成系统的对象模型,包括系统的类图(CLASS DIAGRAM)和对象图的绘制。类图表示不同实体如何彼此相关,它主要是显示了系统的静态结构。对象图显示一组对象和他们之间的关系。4.1概要设计类图由许多静态的说明性元素组成,它显示出类、接口以及他们之间的静态结构和关系。其最基本结

13、构是类和接口,此外还有他们之间的关系,此外类图还显示其内部结构。4.1.1对象类型描述和类图(1) EventMessage 日志消息类该类主要是记录用户的登录信息如 ID、用户名、客服端IP、事件类型、应用名称、模块名称和登录时间。也可以查询用户的登录信息。其中查询的时候可也根据用户ID、用户名和登录时间查询;其中查询时间可也是一个时间段。其类设计图如下:图4.1日志消息类图(2) BusinessFacade 逻辑类 该类的主要作用是执行增加、修改、删除等操作,以及操作后的返回功能。其中包括角色、权限、用户的增加、修改和删除。其设计图如下、图4.2逻辑类图(3) CacheOnline 用

14、户在线类该类的主要作用是记录用户的登录时间从而获取在线用户的列表,在用户列表中插入新登录用户,并且更新用户列表。检查用户是否在线。其类设计图如下:图4.3逻辑类图(4) CheckUpdate 检查更新类 检测是否有最新版本并返回最新版本。设计图如下:图4.4检查更新类图(5) FileTxtLogs 文本日志文件操作类 该类主要作用是记录写操作文件日志,以及判断写操作文件日志是成功还是失败。记录日志文件内容,获取日志文件目录。设计图如下:图4.5文本日志文件操作类图(6) FrameSystemInfo系统信息操作类 对系统各种信息进行操作,设计图如下:图4.6系统信息操作类图(7) Fra

15、meWorkLogin 登陆类 该类主要作用是检测用户名和密码是否正确,判断正确用户进入界面,错误提示用户登录失败。设计图如下:图4.7登录类图(8) FrameWorkPermission 权限检测类该类的主要作用是检测在线用户缓存、应用启动时间、版本等等。权限检测成功后,用户能在相应的权限内进行操作,设计图如下:图4.8权限检测类图4.1.2 类图图4.9类之间的关系图4.2 详细设计系统设计是信息系统开发过程中的另一个重要阶段。我们要根据之前进行分析的结果,在系统需求分析的基础上,来进行对系统的设计4.2.1权限系统定义在一个系统中包含了企业正常运转所需要的重要数据。一个企业中由于每个员

16、工的不同,所允许接触到的数据是不同的。如何使每个员工都能方便的访问他在工作中所需要的数据,同时屏蔽不允许他们访问的数据,这就需要对用户进行访问控制。访问控制是根据需要批准或者禁止用户访问企业数据的过程。访问控制的关键概念是权限。权限定义了授予或者禁止用户对某部分数据的访问类型。权限可以应用到任何受到保护的数据对象。设置权限,就是为用户指定相应数据的访问权限。4.2.2权限系统目标权限管理的方式有很多种,但是对于本系统而言,我们采用了如下描述的权限系统。首先,把权限系统分为角色、功能组、基本权限三层。其次,根据企业的需要,对所有可能的操作进行详细划分,确定所有的基本权限。最后,把相关的权限可以组

17、成功能组,把几个功能组组成一个角色。一个用户可以充当几个角色。通过这样一个分层之后,整个权限管理系统可以灵活、有效的对用户访问系统数据进行控制,对用户操作进行管理。权限管理系统的目标是实现以上所描述的权限管理。首先,根据对系统的分析,确定系统的所有基本权限。然后在这个基础上,给系统的权限系统管理员提供灵活的组织、安排功能组和角色以及给用户分配相应的角色的功能。4.2.3权限系统子系统设计根据权限系统的定义和项目目标,权限管理系统的子系统有:功能组管理、角色管理以及用户角色分配功能三大块,同时还应该提供根据权限分配检查特定用户是否具有某项基本权限的接口,以及所有用户都适用的密码修改以及查询功在线

18、用户管理和日志管理等等。系统管理模块如图4.10所示。图4.10系统功能模块22通过上面的分析,我们在对权限管理系统的研究和开发中可以清楚的了解到在角色获得的权限是功能权限则能实现系统功能;如果是实体权限,则选择实体对象。同时某个用户获得了该角色,可以对实体对象进行具体权限操作,然后修改权限,刷新权限记录,直至权限管理完成。具体权限实施流程如图4.11所示。图4.11 权限实施流程图4.2.4登录子系统登录子系统是每个系统都应该具备的模块,登录界面是进入系统的前提。在本系统设置的登录界面中,需要用户输入正确的用户名和密码。在系统中我使用了一个下拉框,里面载入了所有的用户名。这样的话在登录的时候

19、用户可以在其中找出自己的用户名或者是自己进行输入。而当用户名和输入的密码不符时,将出现对话框来提示用户“密码错误,请重新输入”。4.2.5用户操作子系统在用户操作子系统中,我主要设计了对系统信息的查询功能和对系统信息的维护功能。在系统信息查询方面,主要特点是支持对整体系统的查询和具体的查询。用户可以根据自己的需要来对系统进行查询。比如说,用户可能会想要知道什么样的角色会有怎么样的权限,某个同事具体拥有什么样的权限之类的,这样的话就可以通过查询操作来了解。在查询模块中,用户根据自己想要了解的内容来对具体操作进行选择。在对系统信息维护方面,主要是对用户密码的修改。由于用户最初在使用系统的时候是由系

20、统操作员统一的分配权限以及对用户的信息进行初始化,即对密码和权限的赋予。权限是不可以照着用户的意念改变,但是密码可以。用户可以根据自己的喜好与习惯来对密码进行设置,并替换原来的密码存储到用户信息中。4.2.6操作员操作这个子系统是整个权限管理系统的核心模块。权限管理系统的核心就是对用户的权限进行管理,而具体实行权限管理的就是系统操作员。所以为了简化对权限管理,我们把对权限系统的管理具体分为三个小模块,分别是对用户管理的模块、对角色管理的模块以及对权限组管理的模块。由于企业是动态的,总是有人在内部不停的流动。他们可能是新进人员、可能是离职人员、可能升迁、可能降级,这些情况都是随时可能发生的。但是

21、只要有人员的位置发生变动,那么他的相应资料就会随之改变。这个时候系统操作员就可以根据人员位置的具体改变来选择相应的模块来对企业员工信息进行管理,并把员工的新资料存储到数据库中。4.3用例建模系统的类模型主要是反映了系统中各个类或接口之间的调用关系和类的内部结构。不同于静态模型,系统的动态模型反映的是系统中各个对象之间的交互信息。系统的动态模型主要包括:时序图、状态图、活动图和协作图四种图形。4.3.1时序图和协作图简介(1)时序图(Sequence Diagram)可以用来显示一个具体的用例或用例的一部分的详细流程。其详尽的显示了不同对象之间的消息传递顺序和调用关系。时序图有两个维度:水平维度

22、是互相通信的对象,垂直维度代表时间。(2)协作图(Collaboration Diagram)与时序图类似,用来表达对象之间的合作和交互,但与时序图重点强调消息发送顺序不同,协作图重点突出的是上下文关系,其由Rose根据时序图自动生成。4.3.2时序图的绘制时序图由角色、对象、生命线、激活期和消息五种元素组成。(1) 角色角色可以是外部参与者系统中其他程序。(2) 对象对象在时序图中用矩形表示,在命名时可以使用对象名:类名的形式,也可以不带类名。如图19中站点管理员就是一个对象(3) 生命线生命线是指对象的存在时期,在时序图中表示为代表对象的方框下面的一条虚线,对象之间的消息在两条生命线之间。

23、如图19中站点管理员和登录页面下的虚线就分别是这两个对象的生命线。(4) 激活期激活期表示系统中对象执行某个操作的一段时间,在时序图中以窄矩形表示。如图下图中的矩形框就是两个对象的激活期。(5) 消息消息是各个对象之间进行通信的媒介,消息在时序图中位于两个对象的生命线之间,使用有向箭头表示。如图19中有向将头就是一条消息。4.3.3 绘制时序图和协作图(1) 登录功能时序图 图4.12登录功能时序图(2)登录功能协作图图4.13登录功能协作图(3)部门资料管理时序图图4.14部门资料管理时序图(4)部门资料管理协作图图4.15部门资料管理协作图(5)角色管理时序图图4.16角色管理时序图(6)

24、角色管理协作图图4.17角色管理协作图(7)权限设定时序图图4.18权限设定时序图(8)权限设定协作图图4.19权限设定协作图其他功能时序图与角色管理时序图大同小异,这里就不一一列举了4.3.4 绘制活动图(1)角色管理活动图如下图4.20角色管理活动图(2)用户资料管理活动图图4.21用户资料管理活动图4.4 数据库逻辑结构设计概念结构设计是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。设计数据表的主要原则是符合3NF,3NF即所有的非键字段依赖而且仅仅依赖于主键,而与主键之外的字段无关。第一种转化是将实体转化为关系表。这种转化比较简单,只需要将实体的属性定

25、义为表的属性即可。第二种转化是联系的转化,即将各个实体之间的联系转化为表格之间的关系,如外键的定义。在上面工作的基础上归纳出通用权限管理数据库表格的组成、列的属性、属性之间的联系等。该数据库系统要求具有以下方面的特点:(1) 结构合理:对一个职员可以建立多条记录。(2) 所建立的数据冗余度小,独立性强。(3) 建档、修改、查询、统计快而准确。(4) 保密性、可靠性好。4.4.1系统权限表系统权限表描述了所有系统的基本功能。它其中的数据在实施阶段就已经导入,并且系统中不给所有的用户提供修改这个表中数据的功能。为了生成权限组表中的功能字符串,权限ID必须进行顺序编号,具体设计结构如表4.22所示。

26、字段名类型长度是否为空说明gn_iint4not null权限IDgn_mcchar60null权限名称表4.22系统权限表4.4.2权限组表权限组表保存了系统所有权限组。用户定义的每个权限组在这个表中只有一条记录,具体结构设计如表4.23所示字段名类型长度是否为空说明gnz_iint4not null权限组IDgnz_mcchar60null权限组名称表4.23权权限组表4.4.3角色表角色表保存了系统所有角色的信息,每一个角色在表中有且仅有一条记录,并且具体的角色都是在一个相应的权限组中,具体结构设计如表4.24所示。字段名类型长度是否为空说明js_iint4not null角色IDjs_

27、mcchar60null角色名称js_gnziint4null权限组ID表4.24角色表4.4.4角色权限表角色权限表保存了角色和权限之间的对应关系。每个角色包含的每一个权限在这个表中都存在一条相应的记录,具体结构设计如表4.25所示。字段名类型长度是否为空说明jsgn_iint4not null表IDjsgn_jsiint4null角色IDjsgn_gniint4null权限ID表4.25角色权限表4.4.5员工表员工表保存了企业所有员工的信息。员工表的主要维护工作应该是属于人力资源管理系统。在权限管理系统中,对于员工表的维护主要就是对登录名字和登录密码进行维护。对于每个企业人员来说,要使用

28、ERP系统,必须首先在系统中注册一个登录名字以及设置登录密码,然后由系统操作员分配相应的权限,这些工作是在权限管理系统中实现的,具体结构设计如表4.26所示。字段名类型长度是否为空说明Per_iint4not null员工IDPer_namechar60null员工姓名Per_dlmmint20null登录密码Per_jsiint4null所在角色ID表4.265 权限管理系统实现出于对系统安全的重视,现在人们将眼光更多的投向了权限管理系统,但是由于实现系统安全的方式是多样的。在实现权限管理系统的过程中,出于对系统信息安全的考虑,我们在权限管理系统的开发中还要对权限字符串进行加密设置。5.1权限管理系统实现的关键技术在当今我们都越来越注重在获取对自己有用的信息的同时保护自己的信息不受损害,那么在一个大型的信息管理系统中这样的要求是尤为重要的。一个大型的信息管理系统不仅要面临着自己内部员工对它的操作,还面临着其他用户对它访问。如何保证自己系统本身的信息不受损害是一个十分重要的问题。在这样的环境下应用加密技术可以在一定程度上增大系统的安全性,它可以为我们进行

温馨提示

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

评论

0/150

提交评论