"景先生毕设|www.jxszl.com

基于shiro的权限管理系统设计与实现(源码)【字数:6063】

2024-11-03 19:30编辑: www.jxszl.com景先生毕设
权限管理系统是各种信息化系统的基础构成,在应用系统中具有重要的作用。本系统基于开源的Apache Shiro,实现了前后端分离,通过token进行数据交互,后端基于Spring Boot 框架 + Shiro安全框架,并且使用MyBatis用于操作数据库,数据库使用了MySQL5.7版本,前端采用了Vue框架 + ElementUI前端组件库构建开发,从而实现通过注解控制从页面到按钮的访问权限,同时也能达到快速开发的目的。本系统实现的功能主要有用户创建与删除,角色、菜单权限管理,当前登录用户管理,文件上传及下载功能等。
日期: 2022.4.25 目录
一、引言 1
(一)开发背景 1
(二)选题意义 1
二、开发工具及环境 1
(一)需求分析 1
(二)工具环境 1
三、系统设计 1
(一)数据库表结构 1
(二)系统后端目录结构 4
(三)网站主体设计 4
1.登录界面 4
2.首页 5
3.权限管理页面布局设计 5
(四)系统功能结构图 6
四、 系统实现 8
(一)登录与注册页面 8
1.登陆页面的安全验证 8
2.注册 11
(二)首页 14
1.下线功能 14
2.色彩搭配 15
(三)权限管理页面 15
1.菜单权限创建和查看 15
2.角色权限及管理 22
(四)文件上传及下载功能 26
1.图片上传 26
2.图片查看或下载 28
(五)系统日志 28
总结 31
致谢 32
参考文献 33
一、引言
(一)开发背景
网络安全是当前最重要的关切。NVIDIA公司在遭受的一次黑客组织攻击中,被勒索完全开源GPU驱动,把超过1TB的机密数据公之于众,公司遭受重大损失。类似的安全时间常常见诸于新闻报道,由此可见网络信息安全在当今时代已经 *51今日免费论文网|www.51jrft.com +Q: ^351916072
变成重中之重,越来越多的人开始重视网络信息安全,而各种安全框架也变得越来越强大、安全。
在众多的系统安全解决方案中,开源的Apache Shiro由于其易用性越来越流行,基于Shiro进行权限管理系统开发可以带来很多便利,本文基于此进行系统的开发。
(二)选题意义
本课题所研究的系统安全及权限管理是我们在学校的日常学习中接触的较少的部分,但是此课题在实际生产中的重要性却不可忽视,了解并制作一个权限系统可以很好的拓宽我们的知识面。
通过权限系统的设计和实现,可以让我们更加详细的了解企业中的权限管理是如何让实现的,认识到安全权限对于系统的重要性,认识到安全性是权衡一个系统好与坏的重要条件,可以使我们在今后的开发过程中更多的注重系统安全及权限层面的考虑和设计。
二、开发工具及环境
(一)需求分析
角色分析:使用这个系统的主要是角色包括企事业单位组织,不同的角色对应不同的功能模块,通过后台实现精准划分。同时,一个用户拥有多个角色的需求也需要考虑。
权限分析:系统按照功能不同将功能实现在具体的某一个菜单上,从而通过控制菜单的是否显示来控制用户是否拥有该功能的权限。注意,同一个菜单可能会有多种权限,例如,老师对课表拥有增加、删除、修改和查看的权限,而学生拥有查看权限,因此除了菜单权限也要实现具体页面上的按钮权限。
(二)工具环境
制作本系统主要使用主流的开发工具,采用的软件包括IDEA、WebStorm、Navicat。
JetBrains公司开发的IDEA是时下最流行的JAVA开发工具,使用IDEA时,会提供智能的代码补充,大大提升了开发的效率,美观的界面也使人舒适,本系统在IDEA中主要完成后端的开发。
WebStorm以它的智能闻名于世,WebStorm对Vue、AngularJS等都有很好的支持,和IDEA一样,也提供了智能的代码补全功能,我们在Webstorm中主要完成本系统前端页面的开发。
而使用Navicat for MySQL管理MySQL数据库,Navicat界面舒适,操作简单。系统选用的开发环境为Windows 11、JDK1.8、MySQL5.7、node 16.14、Chrome 99.0。
三、系统设计
(一)数据库表结构
表31 系统用户表sys_user
字段名称
数据类型
长度
约束
含义
user_id
bigint
20
pk
id
username
varchar
50
用户名
mobile
varchar
100
手机号
password
varchar
100
密码
salt
varchar
20

email
varchar
100
邮箱
status
tinyint
4
状态 0:禁用 1:正常
create_user_id
bigint
20
创建者id
create_time
datetime
创建时间
表32 系统用户Token表sys_user_token
字段名称
数据类型
长度
约束
含义
user_id
bigint
20
pk
id

原文链接:http://www.jxszl.com/jsj/rjgc/608197.html