权限管理系统 权限管理是企业级项目其中的一个模块,用于用户登录验证,权限和角色分配以及增删改查,提升系统的安全性。
基于RBAC权限控制,涉及的对象:
- 用户
- 角色
- 权限
- 登录
- 主页面
- 菜单显示,不同的用户展示不同菜单
- 用户的增删改查+分页
- 用户的角色授权
- 角色的增删改查+分页
- 角色的权限授权
- 权限的增删改查+分页
- SpringBoot
- SpringMVC
- MyBatis
- SpringSecurity
- Thymeleaf
- Vue
- ElementUI
登录
文章图片
主页面
文章图片
角色管理
文章图片
登录 RESTFul + Vue + Axios + ElementUI
【SpringBoot|设计一个简单的权限管理系统】登录页面思路:
- 导入相关的js和css
- 创建Vue对象,配置el和data…
- 使用ElementUI
- 使用Axios调用登录接口
- 需要向后台传递什么数据 —> 账号、密码、记住我
- 在data中定义相关的数据
- 在页面中进行数据绑定 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 subFunctions;
}
主界面 确定需求:实现权限菜单的上下级展示
- 修改权限实体类,添加下级权限集合
- 在权限DAO中添加按用户名查询权限的方法
- 在mapper编写SQL语句(先在NaviCAt中进行试验)
- 在IDEA的单元测试中测试DAO
- 完成service
- 完成controller,整合Swagger测试
- 前端编写Vue,定义权限列表数据,查ElementUI文档
- 定义实体类包装分页数据(数据列表、当前页、总页数、总行数)
- 完成查询总行数
- 完成分页查询列表
- 整合到service
- 由controller调用,传入当前页
文章图片
功能需求:
- 表格的单选效果
- 添加对话框,包含树控件
- 展示所有的权限
- 将选择的角色所拥有的权限勾中
- 勾中权限后实现权限的添加
- 取消勾中删除角色的权限
- 添加复选框列
- 定义data,当前选择的角色
- 在表格的@current-change事件中调用函数
- 函数中实现全部取消和选择当前角色
- 查询对应角色所有的权限
- 弹出角色授权对话框时,查询角色的权限,实现权限勾中
- 完成查询角色权限关系、添加角色权限关系、删除角色权限关系接口
ange事件中调用函数 - 函数中实现全部取消和选择当前角色
- 查询对应角色所有的权限
- 弹出角色授权对话框时,查询角色的权限,实现权限勾中
- 完成查询角色权限关系、添加角色权限关系、删除角色权限关系接口
- 在树节点的勾选和取消勾选事件调用
推荐阅读
- 前端相关|JS中的类,函数,对象、原型
- vue.js|vue跨域和拦截器的配置
- 前端面试必知(JS)|【前端面试必知】ES6中函数新增了哪些扩展
- javascript|Fabric.js 上划线、中划线(删除线)、下划线
- 一分钟上手SpringBootTest
- springboot处理blog字段
- JavaScript进阶必会的手写功能
- springboot线程池的使用和扩展
- 呵呵,JavaScript 真好玩(苦笑脸)