当前位置: 首页 > news >正文

后台权限控制及动态路由

需求

后台系统需要能实现不同的用户权限可以看到不同的功能。

用户只能使用他的权限所允许使用的功能。

功能设计

之前在我的SpringSecurity的课程中就介绍过RBAC权限模型。没有学习过的可以去看下 RBAC权限模型 。这里我们就是在RBAC权限模型的基础上去实现这个功能。

表分析

通过需求去分析需要有哪些字段。

建表SQL及初始化数据见:SGBlog\资源\SQL\sg_menu.sql

接口设计
getInfo接口

请求方式请求地址请求头
GET/getInfo需要token请求头

请求参数:

响应格式:

如果用户id为1代表管理员,roles 中只需要有admin,permissions中需要有所有菜单类型为C或者F的,状态为正常的,未被删除的权限

{"code":200,"data":{"permissions":["system:user:list","system:role:list","system:menu:list","system:user:query","system:user:add"//此次省略1000字],"roles":["admin"],"user":{"avatar":"http://r7yxkqloa.bkt.clouddn.com/2022/03/05/75fd15587811443a9a9a771f24da458d.png","email":"23412332@qq.com","id":1,"nickName":"sg3334","sex":"1"}},"msg":"操作成功"
}

getRouters接口
请求方式请求地址请求头
GET/getRouters需要token请求头

请求参数:

响应格式:

前端为了实现动态路由的效果,需要后端有接口能返回用户所能访问的菜单数据。

注意:返回的菜单数据需要体现父子菜单的层级关系

如果用户id为1代表管理员,menus中需要有所有菜单类型为C或者M的,状态为正常的,未被删除的权限

数据格式如下:

http://www.lryc.cn/news/337358.html

相关文章:

  • 云计算:Linux 部署 OVS 集群(控制端)实现OpenFlow
  • 使用/api/put保存数据到OpenTSDB,报204错误
  • Open3D kmeans聚类(马氏距离,Python版本)
  • python抠图程序
  • Android13 CameraServer启动流程
  • 如何升级node.js版本
  • Excel---一个工作簿中的多个sheet合并成一个PDF
  • 结合文本的目标检测:Open-GroundingDino训练自己的数据集
  • 分布式锁-redission锁的MutiLock原理
  • MySQL索引、B+树相关知识汇总
  • 相机模型浅析
  • 国芯科技(C*Core)双芯片汽车安全气囊解决方案
  • 牛客周赛 Round 39(A,B,C,D,E,F,G)
  • 解锁区块链技术的潜力:实现智能合约与DApps
  • MAC OS关闭SIP(navicat 无法保存密码)
  • 阿里云服务器带宽价格全解析,附报价单
  • Day36|贪心算法part05:435. 无重叠区间、763.划分字母区间、56. 合并区间
  • 棋牌室计时吧台计费收费灯控管理系统软件操作流程
  • 【实践篇】RabbitMQ实现队列延迟功能汇总
  • EditPlus来啦(免费使用!)
  • 蓝桥杯22年第十三届省赛-数组切分|线性DP
  • 小米汽车:搅动市场的鲶鱼or价格战砧板上的鱼肉?
  • Docker 学习笔记(五):梳理 Docker 镜像知识,附带 Commit 方式提交镜像副本,安装可视化面板 portainer
  • K8S node节点执行kubectl get pods报错
  • C++简单日志系统
  • MySQL基础练习题:习题21-25
  • 全面的网络流量监控
  • 探索网络爬虫:技术演进与学习之路
  • 目标检测——色素性皮肤病数据集
  • Unity3D 打空包与远程资源更新详解