设计一个简单的权限管理系统

权限管理系统

权限管理是企业级项目其中的一个模块,用于用户登录验证,权限和角色分配以及增删改查,提升系统的安全性。

基于RBAC权限控制,涉及的对象:

  1. 用户
  2. 角色
  3. 权限

涉及的功能:

  1. 登录
  2. 主页面
  3. 菜单显示,不同的用户展示不同菜单
  4. 用户的增删改查+分页
  5. 用户的角色授权
  6. 角色的增删改查+分页
  7. 角色的权限授权
  8. 权限的增删改查+分页

涉及的技术:

  1. SpringBoot
  2. SpringMVC
  3. MyBatis
  4. SpringSecurity
  5. Thymeleaf
  6. Vue
  7. ElementUI

页面截图:

登录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pgJy70o9-1654728104155)(权限管理系统.assets/image-20211109143853224.png)]

主页面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QysxhG2g-1654728104155)(权限管理系统.assets/image-20211109143956586.png)]

角色管理

在这里插入图片描述

登录

RESTFul + Vue + Axios + ElementUI

登录页面思路:

  1. 导入相关的js和css
  2. 创建Vue对象,配置el和data…
  3. 使用ElementUI
  4. 使用Axios调用登录接口

分析:

  1. 需要向后台传递什么数据 —> 账号、密码、记住我
  2. 在data中定义相关的数据
  3. 在页面中进行数据绑定 v-model

后台:

​ 如何使SpringSecurity处理登录请求,直接返回数据

​ 将SpringSecurity配置页面跳转的位置改为用流返回数据结果

思考题:

​ 根据用户名查询相关的权限包含下级权限

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Functions {

  private String id;
  private String name;
  private String description;
  private String url;
  private String pid;
  private String icon;
  private long sort;

  //下级权限
  private List<Functions> subFunctions;
}

主界面

确定需求:实现权限菜单的上下级展示

  1. 修改权限实体类,添加下级权限集合
  2. 在权限DAO中添加按用户名查询权限的方法
  3. 在mapper编写SQL语句(先在NaviCAt中进行试验)
  4. 在IDEA的单元测试中测试DAO
  5. 完成service
  6. 完成controller,整合Swagger测试
  7. 前端编写Vue,定义权限列表数据,查ElementUI文档

角色分页

  1. 定义实体类包装分页数据(数据列表、当前页、总页数、总行数)
  2. 完成查询总行数
  3. 完成分页查询列表
  4. 整合到service
  5. 由controller调用,传入当前页

角色授权

角色的授权

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0BYo7CZT-1654728104156)(权限管理系统.assets/image-20211109144032223.png)]

功能需求:

  1. 表格的单选效果
  2. 添加对话框,包含树控件
  3. 展示所有的权限
  4. 将选择的角色所拥有的权限勾中
  5. 勾中权限后实现权限的添加
  6. 取消勾中删除角色的权限

单选效果

  1. 添加复选框列
<el-table-column
                type="selection"
                width="55">
  1. 定义data,当前选择的角色
  2. 在表格的@current-change事件中调用函数
  3. 函数中实现全部取消和选择当前角色

选中角色对应的权限

  1. 查询对应角色所有的权限
  2. 弹出角色授权对话框时,查询角色的权限,实现权限勾中

勾选和取消勾选权限

  1. 完成查询角色权限关系、添加角色权限关系、删除角色权限关系接口
    ange事件中调用函数
  2. 函数中实现全部取消和选择当前角色

选中角色对应的权限

  1. 查询对应角色所有的权限
  2. 弹出角色授权对话框时,查询角色的权限,实现权限勾中

勾选和取消勾选权限

  1. 完成查询角色权限关系、添加角色权限关系、删除角色权限关系接口
  2. 在树节点的勾选和取消勾选事件调用
  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个简易的管理信息系统可以包括以下几个模块: 1. 用户管理模块:用于管理系统的用户账号和权限,包括用户注册、登录、修改密码等功能。 2. 数据库管理模块:用于管理系统的数据存储和访问,包括数据的增删改查、数据备份和恢复等功能。 3. 数据分析和报表模块:用于对系统中的数据进行分析和汇总,生成各种类型的报表和图表,帮助用户更好地了解数据。 4. 任务管理模块:用于管理用户的任务和工作流程,包括任务的创建、分配、完成情况的跟踪等功能。 5. 消息通知模块:用于发送系统通知和提醒,包括邮件、短信、推送等多种方式,提醒用户关注系统的重要事件和任务。 设计一个简易的管理信息系统,可以采用以下步骤: 1. 确定系统的主要功能和业务需求。 2. 设计系统的数据模型和数据库结构,选择合适的数据库系统和开发工具。 3. 开发系统的用户管理模块,包括用户注册、登录、权限管理等功能。 4. 开发系统的数据管理模块,包括数据的增删改查、数据备份和恢复等功能。 5. 开发系统的数据分析和报表模块,包括数据的统计和可视化展示。 6. 开发系统的任务管理模块,包括任务的创建、分配、完成情况的跟踪等功能。 7. 开发系统的消息通知模块,包括邮件、短信、推送等多种方式,提醒用户关注系统的重要事件和任务。 8. 进行系统的测试和集成,并部署到服务器上。 9. 定期维护和更新系统,确保系统能够满足不断变化的业务需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值