功能权限篇

文章目录

  • 1. 如何设计一套权限系统
    • 1.1 目标
    • 1.2 权限模型
      • 1.2.1 模型一RBAC
      • 1.2.2 模型二ABAC
  • 2.如何实现菜单的创建?
    • 2.1 表结构
    • 2.2 前端实现
    • 2.3 后端实现
  • 3. 如何实现角色的创建?
  • 4.如何给用户分配权限 —— 将菜单赋予角色?
  • 5.如何给用户分配权限 —— 将角色赋予用户?
  • 6. 后端如何实现 URL 权限的校验?
    • 6.1 关键源码
  • 7. 前端如何实现菜单的动态加载
  • 8. 前端如何实现按钮的权限校验?

1. 如何设计一套权限系统

1.1 目标

功能权限篇_第1张图片

1.2 权限模型

功能权限篇_第2张图片

1.2.1 模型一RBAC

功能权限篇_第3张图片
功能权限篇_第4张图片
功能权限篇_第5张图片

1.2.2 模型二ABAC

功能权限篇_第6张图片

2.如何实现菜单的创建?

2.1 表结构

功能权限篇_第7张图片

2.2 前端实现

views/system/menu/index.vue

2.3 后端实现

功能权限篇_第8张图片

3. 如何实现角色的创建?

功能权限篇_第9张图片

4.如何给用户分配权限 —— 将菜单赋予角色?

功能权限篇_第10张图片

5.如何给用户分配权限 —— 将角色赋予用户?

功能权限篇_第11张图片

6. 后端如何实现 URL 权限的校验?

功能权限篇_第12张图片

6.1 关键源码

YudaoWebSecurityConfigurerAdapter
功能权限篇_第13张图片
YudaoSecurityAutoConfiguration
功能权限篇_第14张图片

7. 前端如何实现菜单的动态加载

功能权限篇_第15张图片

功能权限篇_第16张图片

关键点:前端监听路由切换。

8. 前端如何实现按钮的权限校验?

功能权限篇_第17张图片
本质:还是要给前端按钮一个确定的id,然后前端根据查询的权限数据判断是否显示按钮。

你可能感兴趣的:(#,spring,java,后端)