企业员工后台权限管理系统毕业论文
2020-02-15 11:01:51
摘 要
随着时代的快速发展,以及互联网的普及,信息的安全性已经成为了许多人所关注的重点。特别是在一个企业当中,信息的安全更是重中之重,而其中最紧密相关的就是其内部的信息管理系统。企业的信息管理系统作为一个后台系统因为其使用员工的繁杂而可能出现数据泄露、恶意删除数据、误操作等一系列的问题。这些均可能给企业带来巨大的经济损失。
本篇论文就是通过设计一套完整的权限管理系统运用在企业员工的资源访问上来解决上述可能出现的问题。操作人员在后台系统通过对使用用户的权限进行管理控制,拥有权限的用户也就是员工才能进行访问操作,没有权限的用户则会被阻拦。该系统主要是基于现在最流行的RBAC(基于角色的访问权限控制)模型来实现,在RBAC权限模型中,用户、角色、权限构成了三元组,通过角色这一桥梁先将权限分配给角色,再将角色分配给对应的用户,极大地简化了权限管理的操作,并在此基础上通过一系列规范性设计保证了系统的通用性和扩展性,让各种企业可以根据实际需求接入新的系统而不需要过多修改。
关键词:权限管理系统;RBAC模型;权限控制;通用性
Abstract
With the rapid development of the times and the popularity of the Internet.the security of information has become the focus of attention.Especially in a company,the security of information is the most important ,and the most closely related is its internal information management system.TheEnterprise information management system may hava a series of problems such as data leakage,malicious deletion of data,and misoperation due to the complexity of its users.These can bring huge losses to the enterprise.
This paper is to solve the above problems by designing a complete rights management system.By managing the rights of the user,the user with the permission can perform the access operation,and the user without the permission will be blocked.The system is mainly based on the most popular RBAC(role-based access control)model.In the RBAC model,users,roles,and permissions constitte a triple,and the role is first assigned to the role through the bridge.Assigning roles to corresponding users greatly simplifies the operation of rights management,and on this basis,a series of normative designs ensure the versatility and scalability of the system,allowing various enterprises to access according to actual needs.The new system does not require much modification
Keyword: Privilege management system;RBAC model;privilege control;versatility
目 录
第1章 绪论 1
1.1 国内外权限管理系统的研究及应用现状 1
1.1.1 国外研究现状 1
1.1.2 国内研究现状 1
1.2 企业员工后台权限管理系统的目的及意义 2
1.2.1 目的 2
1.2.2 意义 2
1.3 本文的主要研究内容及技术路线 3
1.3.1 主要研究内容 3
1.3.1 技术路线 3
第2章 企业员工后台权限管理系统的需求分析 5
2.1 需求分析 5
2.2 业务流程分析 5
2.3 数据流程分析 9
2.4 数据字典的建立 10
2.4.1 数据流描述 11
2.4.2 数据存储描述 11
2.4.3 数据处理描述 12
2.4.4 外部实体描述 14
第3章 企业员工后台权限管理系统的设计 15
3.1 开发平台的选择 15
3.2 功能结构详细设计 15
3.3 代码整体结构设计 17
3.4 数据库设计 17
3.4.1 数据库概念模型设计 17
3.4.2 数据库逻辑结构设计 20
3.4.3 数据库物理结构设计 21
第4章 企业员工后台权限管理系统的运行 25
4.1系统模拟运行 25
4.1.1 系统登录界面 25
4.1.2 系统主界面 25
4.1.3 用户管理模块 26
4.1.4 权限管理模块 28
4.1.5 角色管理模块 29
4.1.6 更新记录模块 30
第5章 总结与展望 32
参考文献 33
致谢 34
第1章 绪论
国内外权限管理系统的研究及应用现状
国外研究现状
权限管理系统中对资源访问进行控制的概念最早是出现在20世纪70年代,它可以有效的应对用户对系统资源的非法访问,在后台系统规范哪些资源是允许被访问,哪些又是不被允许。1983年,美国国防部公布了《可信计算机系统评估准则》,并在这一准则中首次强调了权限访问控制在管理信息系统中具有的重要作用。
而在后台权限访问控制中,基于角色的访问控制RBAC是其中最具代表性也是目前最流行的访问控制模型,其在国内外受到广泛推崇。国外有许多专业科研机构都在从事相关方面的研究,其中最主要的2个科研机构为NIST(美国国家标准和技术研究所)以及乔治梅森大学的信息系统安全技术实验室LIST,其中NIST的研究方向为RBAC标准化工作及其相关的模型,LIST则主要从事的是关于RBAC模型的创新研究、分析评估及其在B/S模式中的应用。
为了保证信息信息系统的安全性,系统中资源的读取都必须通过访问权限来进行控制,只有拥有一套完备的后台访问控制系统才能保证系统资源不被泄漏或非法访问。RBAC(基于角色的访问控制)第一次是在上世纪90年代由库恩和大卫提出来,并同时提出并创造了第一个RBAC模型。在RBAC模型中,因为角色这一概念的提出,可以通过角色作为桥梁连接用户和权限之间,降低了用户和权限之间的耦合度,让用户需要获取权限时可以先通过将权限赋予角色,再将角色分配给对应的用户。1996年,拉维在原有的RBAC模型上进行了进一步创新,提出了组合模型、概念模型、等级模型约束等概念,称为RBAC96模型。1997年,桑徳又在RBAC96模型的基础上进一步完善提出了ARBC97模型。2001年,第一份统一的建议标准RBAC2001由NIST提出,该标准对关于RBAC的理论和概念进行了统一的整理,并界定了其管理规范和技术标准,在当时的引起了不小的轰动。在这之后还有普渡大学的伊莉莎、李凝辉,渥太华大学的普敦等人都对此进行了进一步的改进,提出了角色之间的继承关系和角色继承表的概念。
1.1.2国内研究现状
国内也有许多机构对与RBAC模型有着深入的研究,其中的最主要的两家为中科院软件研究所和中科大计算机科学系,对于RBAC模型的应用与开发,这两家机构有着丰富的研究经验。他们在原有的RBAC96模型基础上,提出了关于RBAC模型扩展的观点。2000年,一种扩充的角色层次关系模型由中科软件研究院建立,该模型是在原有的RBAC模型的基础上对角色的层次概念进一步扩展,中科院的丁仲也提出并创建了一种基于RBAC的面向对象权限管理框架,该框架相比传统模型将那些可变权限和固定不变的权限分类进行管理,增加了系统的可重用性,大大减少了角色改变可能给权限分配带来的影响。在此之后,还有余文森等人引入的基于权限继承的私人阈值的方法,山东大学的陈玉松将权限分割为私有权限和公有权限集合,规定其继承规则,成功解决了角色之间的继承关系。在此,我国对于RBAC模型及相关权限控制等方面的研究虽然和国外还有一定的差距但也随着时间的推移逐渐深入,权限管理系统也开始逐渐出现在国内各大企业当中,作为一个后台管理系统来对企业员工进行资源访问的控制。
企业员工后台权限管理系统的目的及意义
一个后台系统只有能满足实际使用场景的需要才有其存在价值,而为了能使其满足实际需要,我们必须从该后台系统的使用目的及意义出发,充分考虑到我们为什么要开发这个后台系统,这个后台系统有何作用,该后台系统又能给企业带来什么便利。
目的
随着企业的快速发展,企业的员工越来越多,管理也越来越复杂,不同的员工因其岗位和职责的不同所具有的对系统的操作权限也应不同,信息的安全性也越来越重要,并且企业和企业之间也往往有着巨大的差异,不同行业和不同企业往往都对系统有着不同的需求,这时就可能会出现这样的问题,如果权限控制不到位,无关人等无意间修改了企业内部的关键数据,或者是有不法分子恶意窃取或删除相关数据等等,这些都有可能给企业造成无法挽回的损失,又或者即使一个企业耗费大量的人力物力开发出一套完整的权限管理系统,但又因该企业业务的独特性,该权限管理系统只能适用于该企业,而不能适配其他企业,造成开发资源的浪费,该企业员工后台权限管理系统则能尽量避免上述问题的出现。
意义
本后台权限管理系统正是在这样一个背景下,采用B/S架构,管理员在后台系统进行设置分配,通过对用户即企业员工的任何访问操作都进行权限验证,只有拥有数据或页面对应访问权限的用户才有资格进行访问操作,如用户无对应权限则会告知其无权限,将其视为有风险访问并记录到日志当中以备系统管理员日后查询,所有处于登录该系统的用户都会经过授权和认证流程,未登录用户则无法直接访问,并经过一系列规范性设计使其具有良好的扩展性,方便后期添加进新的系统,同时使其可以通过尽可能小的修改适配各行各业,增加了其通用性。
本文的主要研究内容及技术路线
1.3.1主要研究内容
本系统的使用者主要分为超级管理员和一般用户,超级管理员默认拥有系统所有操作权限,也就是后台系统的主要操作人员,无需验证即可以访问系统内所有模块,一般用户即普通员工则根据管理员在后台为其分配的角色所拥有的权限来确定可以访问哪些模块资源,其中包括如下内容:
(1)部门及用户管理:部门可根据企业需要分成技术部、财务部、后勤采购部、人力资源部等,后期可通过实际业务需要进行定制,并拥有层次结构,可在首级部门下添加下级部门,用户归属与部门,部门与用户都可以自由进行添加、删除、修改。
(2)权限模块及权限点管理:权限模块也可以根据需要进行设计,同样具有层级结构,在该原生系统内分为权限模块管理、角色模块管理、用户模块管理、更新记录模块管理等,后期可自行扩展,并在各层级模块中设定各类权限点。
(3)角色管理:该部分是系统的核心部分其分为角色定制化管理,角色与用户关系维护、角色与权限关系维护三个部分,其中角色可以自行进行增加删除修改,角色与权限维护是通过一个树形结构页面给角色勾选分配对应的权限,角色是用户关系维护则是将所选择的角色分配给待选用户。
(4)权限更新记录管理:对该系统内所进行的各种操作都根据时间进行记录并展示,同时可以以时间、关键字、操作者等进行筛选查询,其中修改操作可以通过还原操作进行恢复,以防止误操作。
1.3.2技术路线
在毕业设计选题正式确定后,首先做的就是调查实践,分析后台权限管理系统现在的研究和应用现状,理清其在现在市场上的需求,通过查阅资料、实地考察等方式确定核心痛点,从而完成需求分析和功能分析,并通过Visio软件画出业务流程图和功能结构图,最终确定本系统应该具备哪些功能,然后提出设计方案,评估方案可行度,最后进入正式开发阶段,本系统是基于java平台开发,开发框架为spring、spring mvc、mybatis,开发环境为Intellij IDEA,数据库为Mysql,开发完成后还需进行系统检验,如检验不通过还需进行修改重新提出改良方案,最终系统检验通过后才开始撰写论文,具体流程如图1-1所示。
图1-1 技术路线图
第2章 企业员工后台权限管理系统的需求分析
需求分析
通过对目前企业员工后台权限管理系统一系列调查研究过后,我们清楚的了解到了企业员工后台权限管理系统开发的目的及意义,下面我们将要做的是对该系统进行详尽的需求分析,对于软件系统的需求分析主要分为下面三个部分:
(1)功能性需求:即系统应该完成什么事,应该实现什么功能,即为了提供用户所要求功能的操作,其也是软件需求的主体。本系统作为一个后台权限管理系统功能性需求包括部门和用户管理功能、角色管理功能、权限和权限点管理功能以及权限更新记录管理功能。
(2)非功能性需求:主要是对功能性需求的进一步完善,其中包括软件性能的要求,软件的运行环境、软件设计必须遵循的规范、标准、页面设计的细节等等。本系统性能方面因主要面对企业内部要求不会过高,如后期出现性能瓶颈可考虑从redis等内存数据库来部分代替关系数据提高性能,界面设计主要保证保证用户的可用性、菜单按钮设计含义明确、尽量减少冗余操作。
(3)设计约束:也被称为涉及限制条件,通常是对一些设计实现方案的说明。在这里主要是规定开发过程中使用的数据库为Mysql,基于java开发,版本选择jdk1.8,运行系统为Windows 10。
业务流程分析
业务流程图是一种体现信息系统内各模块、单位之间的业务流程关系,运行顺序和展现信息流动的图表,我们可以将其看作是用图形来反映实际业务流程的流水账,而简历这本流水账对于我们理解业务过程是至关重要的。
本企业员工后台权限管理系统核心业务流程主要可以分为认证流程和授权及权限检验流程两大块。认证流程即用户登录认证,用户进行任何资源访问操作之前都会首先进行登录认证,后端通过session对象来对登录用户的数据进行存储,其中session中的信息设置过期时间为30分钟,如超时需用户重新登录,在这里同时使用ThreadLocal对象来为每条线程提供自己的独立session,使系统可以支持多人登录互不干扰,如无法从session中获取用户数据则代表访问者未登录,会将页面转回登录页面,重新登录,并在登录时为登录密码做一次md5加密,加强系统安全,如session成功获取用户信息,代表用户已登录,可继续进行下一步操作,流程如图2-1所示:
图2-1 认证业务流程图
至于授权及权限检验流程,在该权限管理系统中,通过部门用户、角色、权限三大模块来完成授权过程,最后通过更新记录模块将其操作进行记录,系统权限的资源主要分成三种类别,菜单权限、按钮权限以及其他权限,菜单权限即获取数据菜单的许可,按钮权限则是能否点击菜单上的按钮,他们都属于权限管理里授权过程的客体,用户可以进行的操作可以访问的资源都通过对应的URL路径来绑定,首先当用户通过前期登录验证后,其用户信息会被存储到session对象中,当进行资源访问时回取出session中的用户信息,通过用户id获取该用户所拥有的所有角色,在通过角色id集合获取该所有权限,最后将访问资源的url和用户权限集合进行匹配,如匹配通过即拥有该资源访问权限,如匹配不通过则跳转无权限页面,具体流程如图2-2所示: