权限管理-表结构和关系 | 学习笔记

简介: 快速学习 权限管理-表结构和关系

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)权限管理-表结构和关系】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/667/detail/11525


权限管理-表结构和关系


目录:

一、基本需求

二、关系


一、基本需求

来到资料,有一个数据库脚本,打开,有多张表,现在数据库创建出来,一共有以下五张表:

1.acl permission

这是一个菜单表,pid 为1,就是一种树形结构,用来存储信息,

2.acl role  

这是一个角色表  

3.acl role pegmission  

这是角色和菜单的关系表

4.acl user  

这是一个用户表

5.acl user role  

这是用户和角色的关系表

以上五张表可以做到完善的管理功能。


二、关系

先做三张表格,包括菜单表 acl permission,角色表 acl role,用户表 acl user。

image.png

角色和菜单表之间是有关系的,表表之间的关系,要么一对一,要么一对多,要么多对多这三种关系,一对一对多。

做得多,菜单跟角色之间这种关系,是一个多对多的关系,也就是说,一个菜单它可以有很多的角色,然后一个角色是不能访问很多菜单,比如管理员能访问讲师管理也可能访客管理,测试人员也可能去访客户管理。所以这个关系是一个多对多的关系。

角色和用户也是一个多对多的关系,也就是一个角色中可以有很多用户,然后管理员里边可以和 Lucy 也可以和 Mary联系。

一个用户也可以有很多角色,假如 Mary 它既是管理员又是测试员,所以这个是多对多的关系,也就是说,菜单、角色、用户,他们之间都是多对多的关系。

再做两张表格,它包括菜单角色关系表 acl role pegmission  和角色用户关系表 acl user role

image.png

这就是以上表的结构和关系

相关文章
|
Ubuntu Linux Shell
使用Busybox制作根文件系统
使用Busybox制作根文件系统
247 0
|
网络协议 Windows
网络连接正常但百度网页打不开显示无法访问此网站解决方案
网络连接正常但百度网页打不开显示无法访问此网站解决方案
2734 0
网络连接正常但百度网页打不开显示无法访问此网站解决方案
什么叫高内聚,低耦合 超简单生活例子,让你一看就明白
本文通过生活化的例子解释了高内聚和低耦合的概念,强调了在编写代码时应该追求高内聚(相关功能紧密组合)和低耦合(功能间相互独立,减少相互影响),以提高代码质量和可维护性。
833 0
|
7月前
|
Ubuntu 安全 Linux
宝塔Linux面板安装教程
这是一篇关于宝塔Linux面板安装教程的文章,支持CentOS/Ubuntu/Deepin/Debian/Fedora系统。文章详细列出了各系统的安装脚本命令,并提供更新升级脚本、安装后操作指南及注意事项。重点包括开放必要端口、解决权限问题、查看安装日志以及推荐的安全设置,如启用登录限制和定期更新面板。若遇问题可参考宝塔官方论坛或寻求技术支持。
460 0
|
11月前
|
API
如果API调用失败,我应该如何排查问题?
当小红书API调用失败时,可按以下步骤排查:1. 检查请求参数;2. 确认身份验证凭据;3. 控制调用频率;4. 检查网络连接;5. 查看错误码和日志;6. 核实授权范围;7. 联系技术支持;8. 定期更新与测试。这些方法有助于系统地解决问题,确保API调用稳定。
|
SQL Java 数据库
微服务技术系列教程(39)- SpringBoot -RBAC权限模型
微服务技术系列教程(39)- SpringBoot -RBAC权限模型
485 0
|
监控 开发工具 数据安全/隐私保护
Windows平台如何实现多路RTSP|RTMP流合成后录像或转发RTMP服务
本文介绍了在Windows平台上实现多路RTSP/RTMP视频流的合并技术。主要应用场景包括驾考、全景摄像头以及多路会议录制等。技术实现上,文章详细展示了如何使用特定的SDK来解码并回调YUV或RGB数据,再将这些数据按照图层形式进行合成。示例代码中给出了初始化参数、设置视频帧回调函数、以及如何配置不同图层的具体步骤。最终,合成后的视频可以推送到RTMP服务器、注入到本地RTSP服务,或是直接录制为MP4文件。此外,还提供了添加实时文字水印的方法,并展示了四路视频流合成后的“四宫格”效果。
593 0
|
存储 JavaScript API
Vue状态管理深度剖析:Vuex vs Pinia —— 从原理到实践的全面对比
Vue状态管理深度剖析:Vuex vs Pinia —— 从原理到实践的全面对比
962 2
|
消息中间件 中间件 Java
RocketMQ实战教程之几种MQ优缺点以及选型
该文介绍了几种主流消息中间件,包括ActiveMQ、RabbitMQ、RocketMQ和Kafka。ActiveMQ和RabbitMQ是较老牌的选择,前者在中小企业中常见,后者因强大的并发能力和活跃社区而流行。RocketMQ是阿里巴巴的开源产品,适用于大规模分布式系统,尤其在数据可靠性方面进行了优化。Kafka最初设计用于大数据日志处理,强调高吞吐量。在选择MQ时,考虑因素包括性能、功能、开发语言、社区支持、学习难度、稳定性和集群功能。小型公司推荐使用RabbitMQ,而大型公司则可在RocketMQ和Kafka之间根据具体需求抉择。
|
安全 测试技术 虚拟化
Docker实战案例研究:深入行业应用与最佳实践
Docker作为一种轻量级、可移植、可扩展的容器化技术,在各行各业都得到了广泛应用。本文将通过深入实际案例,介绍Docker在不同行业的应用以及相应的最佳实践,提供更加丰富的示例代码,以帮助大家更全面地理解和运用Docker的强大功能。