基于shiro的权限管理系统设计和实现_毕业设计(编辑修改稿)内容摘要:

图 一般用户的用例关系图 系统性能分析 安全性需求分析 构建一个成功的权限管理系统首先应该了解需要控制的系统的所有功能菜单信息,只有完整并且准确的获取到菜单功能信息,才能对角色赋予相应的权限,才能使权限系统与信息系统科学合理的进行匹配。 ( 1)权限系统控制要点 权限系统控制要点有:信息资源、用户、单位的机构设置、具体岗位、业务角色、具体任务、业务流程以及业务规则等。 ( 2)访问控制的特点 在信息系统中,访问控制系统要具有很好的适应性以满足动态的或者特定用户的安全需求。 因此我们需要深入了解并分析系统访问控制 的特点。 济南大学毕业设计 7 1)用户特点 信息系统的使用户数量繁杂,用户工作岗位变化也很频繁,如调进、调出、新进、辞职等。 同时若新业务的增加也会使得用户的工作内容频繁变化。 用户的不确定性是单位规模增大和业务增加的必然结果。 2)信息资源特点 现在系统普遍面临系统数据量大的特点,如何正确分类整理并确定其信息安全等级成为设计者必须要考虑的问题。 3)单位的机构设置特点 现在各个单位的机构设置都不尽相同,而且类型复杂,各个单位的机构设置都有其自己的特点、大型单位还存在地域上分布式的特点。 5)任务特点 单位环境中,具体任务的数 量多并且种类复杂,因此,为了满足单位对访问控制的安全性需求,一般采用扩展性好、灵活性高的 RBAC访问控制模型。 根据具体任务涉及到的系统菜单等信息,需要对用户角色进行及时的赋权更新操作。 稳定性需求分析 软件系统的稳定性是决定软件系统好坏的一个重要因素。 一套系统在持续操作时间内出错的概率就是指软件的稳定性,例如统计一天之内系统出错的次数。 软件的稳定性需要从设计角度出发,依靠经验丰富的开发人员,通过合理划分系统模块,科学设计每个模块之间的关系,使用稳定的系统框架,来使系统即使更改部分代码,其对软 件系统的影响也会将到最低。 如果一个系统报错的概率比较大 (一天内出错两次或更多次 ),或者需要重启 (一天内出错两次或更多次 )才能正常运行,这就表明系统的稳定比较差。 不稳定的系统会给使用单位带来巨大的麻烦,如系统数据不及时、不准确、系统经常瘫痪、业务无法正常运作等问题。 导致系统稳定性差的原因主要是系统的并发数太多或者系统容错能力差。 本权限管理系统由于使用者大多只是管理员,并发数应该不会太多,主要精力还是放在提高系统的容错能力上。 济南大学毕业设计 8 3 概要设计 总体设计 通过超级管理员用户登录系统后,会进入系统主页面, 页面上主要的功能有:功能管理,角色管理,用户管理,系统属性,信息管理模块。 功能管理主要是对信息系统的功能菜单信息进行维护,包括“添加,删除,修改”操作。 角色管理主要对用户的角色信息进行维护,包括“添加,查看,删除,修改,权限分配”操作。 用户管理主要用管理信息系统用户的信息,包括“添加,查看,修改,删除”操作。 系统属性主要用于显示当前系统的一些信息。 用户管理是本论文重点,这里所说的用户管理就是权限管理。 在权限管理中,包括信息管理设置了一些额外的信息显示功能。 在这系统功能中,用户管理师最主要的功能。 用户信息的增 加,删除,修改,以及具体用户角色的分配,具体权限的查看都可以在此进行操作和查看。 此时,管理员可以对其进行权限的修改。 模块划分 进入系统主页面,系统主要的功能有:功能管理,角色管理,用户管理,以及权限分配管理。 如图所示: 图 模块划分 济南大学毕业设计 9 模块设计 1) 用户管理 在系统首页,用户输入用户名密码后,由 JSP 控制器接收,然后和后台数据库中的用户数据进行比较,验证成功则进入操作主页面。 在权限管理主界 面如果管理员用户需要对某个用户进行操作,需要首先对数据库中的用户信息进行搜索,然后再对检索出的用户数据进行修改或者删除。 在用户管理界面上管理员用户可以直接进行添加用户账户操作。 图 账户管理时序图 2) 权限管理 权限管理存在于角色管理模块下,根据用户关联角色,角色关联具体权限的设计思路,因此用户点击角色管理进入角色管理模块进行操作。 权限管理过程简述为:根据获取的用户信息,首先检索用户的角色信息,在根据检索出的角 色信息,控制器通济南大学毕业设计 10 过查询数据库后返回所选用户的所有权限信息。 这时管理员就可以查看的用户权限信息,同时也可以对该用户的权限信息进行重新设置。 拓展:权限组管理。 现在权限管理系统很多设计到了权限组的概念,主要是对用户、角色的进一步整合。 可设计为用户点击权限组管理进入权限组管理模块,系统会显示所有权限组,用户可以对所选权限组进行修改和删除操作,也可以增加权限组。 本系统中没有涉及到权限组的设计。 图 权限管理时序图 3) 重置及修改密码 重置密码,用户进入重置密码页面,输入要重置密码的用户账号后,点击确认,控制器就会用初始密码替换掉数据库中的当前密码,最后会在页面中显示初始密码。 修改密码,用户进入用户信息修改页面,输入新密码后,点击提交,控制器就会对数据库进行操作,将当前密码替换成新密码。 济南大学毕业设计 11 图 密码管理时序图 模块设计 权限管理模块 1) 权限管理业务逻辑类设计 RightModifyBusiness 类是权限修改业务 逻辑类,主要是针对权限修改控制器发出修改权限消息,然后权限修改逻辑类相应,并通过 JDBC 修改数据库信息。 他们之间通过 Session 传递消息,消息的内容存放在 Form 里,通过 UserForm 类接收和存储消息。 UserForm 是 ActionForm 子类,同时把 String 类作为自己的私有属性,主要是用于存储各种信息。 JvDBO 是 JDBC 连接的主要类,主要用于数据库的连接操作,同时将连接的 Connection 返回,供 RightModifyBusiness 使用。 济南大学毕业设计 12 图 权限修改类图 2) 权限管理控制器类设计 图 权限显示类图 济南大学毕业设计 13 权限管理控制器类,用于接收网页( JSP)传来的消息,然后通过调用业务逻辑类进行数据处理,然后根据处理后的情况跳转的不同的页面。 这样可以实现复杂的业务逻辑。 控制器类是 Action 的子类,其可以接收网页( JSP)传来的 Form 表单的数据,同时利用 Session 进行保存和消息的传递。 其依赖的类包括 UserForm(进行数据的存储和传递 ), JvUser(权限操作对象), ActionMapping(主要用于页面的跳转)。 在 JvDBO 类中还把 Logger 日志类作为自己的私有属性,所以在进行数据操作时,系统会记录相关的操作信息,方便管理员进行维护。 用户密码修改模块 1) 用户密码修改业务逻辑类设计 密码操作管理模块涉及密码的修改,重置。 这里只针对密码修改模块进行介绍。 密码重置的原理和密码修改的原理大同小异,都是对数据库进行相关的操作。 PasswordModifyBusiness 密码修改业务逻辑主要是为密码修 改控制器模块服务的。 当密码修改业务逻辑收到控制器类的消息时,当然传递消息的渠道还是 Session,载体依然是 ActionForm。 此时,业务逻辑类会提取 Session 中的数据跟据控制器的指令进行相关的数据库操作。 在数据库操作之前,业务逻辑会进行数据库的连接和认证。 图 密码修改业务逻辑图 2) 用户密码修改控制器类设计 密码修改控制器类,是 JSP 网页编程中 MVC 模块中的 control,模块,即控制器模块,主要功 能是通过页面传送的消息和指令,通过复杂的后台业务逻辑处理,然后济南大学毕业设计 14 根据处理后的结果,进行相关的页面跳转。 所以不同的结果会跳转的同一个页面或者不同的页面,这个完全取决于系统的设定。 密码修改控制器收到网页表单里德数据后,会把数据存储在 PasswordForm 类中,然后通过 Session 类把数据传送给业务逻辑类进行相关的业务处理,并接收业务逻辑类处理后的结果,根据结果进行页面跳转操作。 图 密码修改控制器类图 用户账户管理模块 1) 用户账户管理 Bean 类设计 用户 bean 把用户的数据变量声明为私有属性,通过界面的 set 和 get 函数获取,然后提交到 actionform 表单中,再通过后台数据库进行匹配或者处理操作。 济南大学毕业设计 15 图 用户 Bean 类图 2) 用户账户管理 Form 类设计 ActionForm 用于封装用户的请求参数,而请求参数是通过 JSP 页面的表单域传递过来的。 可以把 Form 理解为 JavaBean 的一种形式, Form 主要是当用户把网页里德表单填好后,点击提交按钮,然后网页会把表单里的数据通过 Session 或 Url 传送给后台,此时后台会利用 ActionForm 类进行数据的接收操作。 此时 ActionForm 类的任务就完成了。 图 用户账户管理 Form 类图 3) 用户账户管理业务逻辑类设计 用户账户管理模块,包括用户账户的增加,修改,删除,和现实模块,这里仅以用户账户删除模块进行介绍。 其他的模块类结构和本模块结构相同,只是操作 上存在济南大学毕业设计 16 差异。 用户删除业务逻辑类把日志类 Logger 加入到了自己的私有属性之中,主要是用于记录管理员在对用户账户进行的一系列操作。 方便日后的维护和系统的安全。 用户账户操作,依赖于用户类 JvUser 和用户表单类 UserForm。 其在接收到用户账户控制器类传来的消息后,会调用 JvDBO 类进行 JDBC 连接和数据库操作。 实现 JSP 后台的复杂业务逻辑。 图 用户账户删除业务逻辑类图 数据结构设计 权限系统所涉 及的数据库表有如下几张: 表 数据库表名清单 中文表名 英文表名 表功能说明 用户信息表 s_userinfo 记录用户相关信息 系统功能表。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。