基于企业应用的用户权限角色研究与实现毕业论文
2021-09-26 23:58:22
摘 要
随着网络的发展,系统的模块增多,同时访问权限的要求也越来越高,传统的同过硬编码实现的访问控制已经不能满足目前的权限控制需求。引入基于角色的RBAC模型,通过用户关联角色,为资源配置相应的许可,并为角色配置相应的资源许可权限,完成用户访问对资源的授权。
本文设计权限管理系统基于Java EE提供身份认证集和集中授权管理,结合MVC(Model View Controller)框架和RBAC(Role-Base Access Control)模型,增加资源权限的概念设计实现通用的后台权限管理系统。同时使用模块:考勤模块,交流园地模块和信息模块用于对验证组件的通用性。本系统以eclipse做为开发工具,tomcat为服务器、通过使用maven项目管理工具,以RBAC和MVC模型为基本模型,使用Spring security(权限管理框架),Spring MVC( Web 应用程序 MVC 模块框架)、Spring(轻量级容器框架)、ibatis(数据库连接框架)、jsp(java服务器页面)、JavaScript(脚本语言)、tiles(页面布局工具)等框架,以Java语言为基础编程语言。
关键字:角色,权限管理,流程控制
Abstract
窗体顶端
With the development of the network, increase system modules, and requested access to increasingly high, with excellent Coding traditional access control has been unable to meet the current demand for access control. RBAC model is introduced role-based, user-related roles, configure the appropriate licenses for resources, and configure the appropriate permissions for the role of resources to complete the authorized user access to resources.
This design rights management system based on Java EE provides authentication set and centralized authorization management, combined with MVC (Model View Controller) framework and RBAC (Role-Base Access Control) model, increasing resource permissions conceptual design and implementation of a common background rights management system. Use modules: time and attendance module, communication module and garden information module for authentication component commonality. This system eclipse as a development tool, tomcat server by using maven project management tools to RBAC and MVC model as the basic model, using Spring security (permissions management framework), Spring MVC (Web application MVC framework module), Spring (lightweight container frame), ibatis (database connectivity framework), jsp (java server pages), JavaScript (scripting language), tiles (page layout tool) and other frameworks for Java language-based programming language.
窗体顶端
Keywords:Access Control,RBAC,MVC
目录
第1章 绪论 1
1.1 课题研究的背景和意义 1
1.2 研究现状 1
1.3 本课题的内容和结构安排 1
第2章 所用技术原理和模型分析 3
2.1 权限控制 3
2.1.1基础RBAC模型 3
2.1.2 Spring security 3
2.2 项目管理工具maven 4
2.3 Spring 4
2.4 MVC模式 4
2.4.1 Spring MVC 5
2.5 ibatis 5
2.6 tiles 6
2.7本章小结 6
第3章 系统设计 7
3.1 系统分析 7
3.1.1 需求分析 7
3.1.2 系统总思路 8
3.1.3 页面设计 8
3.2 权限管理和登录设计 9
3.2.1数据库设计 9
3.2.2 Spring security实现 11
3.2.3 分页处理 12
3.2.4 登录模块设计 13
3.3 其它功能模块设计 15
3.3.1 基本信息模块设计 15
3.3.2 信息通知模块设计 16
3.3.3 考勤模块设计 17
3.3.4 交流园地设计 18
3.4 本章小结 18
第4章 系统测试和分析 19
4.1 系统测试 19
4.2 系统分析 23
4.3 本章小结 23
第5章 总结与展望 24
1总结 24
2 展望 24
参考文献 26
致 谢 27
第1章 绪论
1.1 课题研究的背景和意义
随着信息的发展,信息系统面向多功能、多用户、多数据方向不断的扩展,信息安全、访问控制的要求也随之变得极为重要。数据资源安全有效的访问和管理已经成为各各系统所必须面对的问题,随着系统功能的多样化,系统功能越来越多,功能权限的访问控制也变得更加麻烦,访问权限作为系统的功能发展、数据的扩充,就要满足对不同用户的访问要求,同时拒绝对不满足要求的用户及非法访问。
本课题基于RBAC基本思想上,增加资源权限的概念,研究不同的用户角色对每个资源进行访问的权限控制,通过引入资源权限的概念使系统权限使用更加方便灵活。
权限管理一般是为系统设置安全规则,使得用户可以访问同时只能访问自己被允许访问的资源。权限系统设计的基本理念就是给出一套方案,将系统中所有的功能和所需访问权限提取出来,用一套策略将功能和访问功能权限组织起来。权限体统主要构成有用户界面和权限管理界面组成。
1.2 研究现状
国外现在研究的方向是对96模型和97模型,和NIST的定义的RBAC模型的扩展。[1]为了满足实际情况中的不同要求衍生出许多的扩展模型。比如基于信任的访问控制,基于对象的访问控制,基于进程的访问控制。为了满足更多的需求,国内访问控制研究也逐渐在向其他方向转变,向基于客体,基于任务,分布式的模型等研究扩展。[2]早期的系统没有通过角色来定义权限,需要编写大量的代码来完成每个资源的访问许可,近年的系统基本上都使用RBAC模型为系统设计后台管理界面,目前系统的访问权限大部分是基于角色设计的,但同时大部分系统将用户角色信息和角色对应权限保存在数据库,资源访问的权限在代码中写定,目前也有一些系统开始使用Spring security等框架来实现RBAC模型。使用Spring security扩展模型可动态的对资源权限进行分配。
1.3 本课题的内容和结构安排
本课题主要研究基于RBAC后台控制处理,设计出一套可供灵活使用的权限管理组件。系统设计的灵活性表现在MVC模型为构建系统,本设计的系统中控制层返回逻辑视图和数据模型。如果需要在不同的设备上使用,只需要改变前端界面技术,不会影响后数据和逻辑流程。本次设计中为后台管理系统提供了一个企业管理系统为开发实例,开发权限管理系统,通过一套安全策略将用户、权限和资源实现分离,通过关联用户、权限和角色,实现对用户权限的可分配和灵活改性,相比之前的硬编码方式,使用用户角色权限系统可以大量的减少系统中为了控制访问权限而实现的大量代码标写,同时也更加灵活,通过用户、角色和许可关系,动态为每个用户分配用户访问权限[3]。
本文以企业管理系统为实例,采用角色的访问控制方法,实现动态分配用户权限。本系统以eclipse作为开发工具,tomcat为服务器、通过使用maven项目管理工具,以RBAC和MVC模型为基本模型,使用Spring security(权限管理框架),Spring MVC( Web 应用程序 MVC 模块框架)、Spring(轻量级注射容器框架)、Ibatis(数据库连接框架)、jsp(java服务器页面)、JavaScript(脚本语言)、tiles(页面布局工具)等框架,以Java语言为基础编程语言。
本文第1章介绍了课题背景及国内外研究现状,并阐述主要研究内容和整个论文的结构安排。