若依框架权限管理的RBAC模型介绍

  • 若依框架的权限管理功能是基于【RBAC】来实现的,即:系统中所有的权限,都是基于角色来控制的。
  • 框架对权限的控制,不仅支持菜单的功能,还支持菜单中的每一个按钮的权限控制

    RBAC(基于角色的访问控制)模型包含的表有下面五张:
    1、用户表   2、角色表   3、菜单表  4、用户角色关联表   5、角色菜单关联表
    其5张图的关系如下:
    在这里插入图片描述

{
关于表的杂谈:
 表的关系大致可以分为一对一、一对多以及多对多这三种类型;其中若有一对多的情形,则多的那部分必然要生成一个外键,以保证和一那张表进行联系;若有多对多的情形,则必然会存在一个中间表
}
{
关于如何用sql语句进行联表查询:

// 查询当前登陆人所拥有的权限菜单数据(登陆人ID:2)
// 在编写sql语句时一定要坚持的一个原则:分清主表与辅表
// 因为这里想得到登陆人所拥有的菜单,因而这里菜单表为主表
1select * from sys_menu t1
// 因为仅有菜单表无法获取到何人是登陆人,因而需要与中间表进行关联(通过两表的共项)
2select * from sys_menu t1left join sys_role_menu t2 on t1.menu_id = t2.menu_id
// 但此时知道user_id,根据以查的信息中role_id无法定位到user_id,因而还需要进一步进行联表查询
3select * from sys_menu t1left join sys_role_menu t2 on t1.menu_id = t2.menu_idleft join sys_user_role t3 on t2.role_id = t3.role_id
// 最后再利用已知的user_id条件进行查询
4select * from sys_menu t1left join sys_role_menu t2 on t1.menu_id = t2.menu_idleft join sys_user_role t3 on t2.role_id = t3.role_id	where t3.user_id = 2

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/66328.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven介绍,部署在eclipse中

目录 一.Maven介绍 1,什么是maven? 2. 为什么maven会在企业中大量使用? 3.没有使用maven的前后区别? 4.maven在Java开发中的实际效果图 二.maven部署在eclipse中 1.下载maven在其官方网址下载(当然实际下载也要根据个人的…

数据结构-带头双向循环链表的实现

前言 带头双向循环链表是一种重要的数据结构,它的结构是很完美的,它弥补了单链表的许多不足,让我们一起来了解一下它是如何实现的吧! 1.节点的结构 它的节点中存储着数据和两个指针,一个指针_prev用来记录前一个节点…

如何通知学生分班结果?这个代码源轻松搞定

传统通知学生分班结果的方式相对来说比较繁琐,同时也存在出错的风险。首先,传统方式通常是通过纸质通知单的形式将分班结果发放给学生。这就需要学校花费一定的人力和物力来打印、分发通知单,而且还需要确保通知单能够准确地送到每个学生手中…

OpenAI允许网站阻止其网络爬虫;谷歌推出类似Grammarly的语法检查功能

🦉 AI新闻 🚀 OpenAI推出新功能,允许网站阻止其网络爬虫抓取数据训练GPT模型 摘要:OpenAI最近推出了一个新功能,允许网站阻止其网络爬虫从其网站上抓取数据训练GPT模型。该功能通过在网站的Robots.txt文件中禁止GPTB…

图像的镜像变换之c++实现(qt + 不调包)

1.基本原理 1.水平镜像变化 设图像的宽度为width,则水平镜像变化的映射关系如下: 2.垂直镜像变化 设图像的宽度为height,则垂直镜像变化的映射关系如下: 2.代码实现(代码是我以前自学图像处理时写的,代码很…

Nature子刊 |肠道宏病毒组揭示百岁老人长寿秘诀

发表期刊:nature microbiology 发表时间:2023 影响因子:28.3 DOI: 10.1038/s41564-023-01370-6 研究背景 衰老是一种不可逆转的自然过程,随着年龄的增长,机体诸多方面出现功能性下降,与衰老相关的疾病&a…

设计模式之三大类

目录 设计模式分类 1.创建型模式(Creational Patters) 2.结构型模式(Structural Patterns) 3.行为型模式(Behavioral Patterns) 3.1命令模式(The Command Pattern) 2.1适配器模式 2.1.1Object and Class Adapters 设计模式分类 1.创建型模式(Creational Patters) Fato…

手撕数据结构之栈+例题

目录 一、栈的概念及结构 二、栈的头文件及基本框架 三、接口实现 1、对栈的初始化 2、栈的销毁 3、入栈操作 4、出栈操作 5、判断栈是否为空 6、返回栈顶元素 7、遍历栈 四、有效的括号 - 力扣(LeetCode) 题目描述: 思路&#xff…

Falco操作系统安全威胁监测利器

原理简介 Falco是一个开源的云原生安全工具,用于检测和防御容器和云原生环境中的安全威胁。它基于Linux内核的eBPF技术,通过监控系统调用和内核事件来实现安全检测和响应。 具体来说,Falco的实现原理如下: 1. 内核模块&#xf…

如何使用Spark/Flink等分布式计算引擎做网络入侵检测

如何使用Spark/Flink等分布式计算引擎做网络入侵检测 引言16 Distributed Abnormal Behavior Detection Approach Based on Deep Belief Network and Ensemble SVM Using Spark17 Spark configurations to optimize decision tree classification on UNSW-NB1518 A dynamic spa…

Windows Oracle21C与PLSQL Developer 15配置

1、下载Oracle21c并安装 下载地址:https://www.oracle.com/database/technologies/oracle21c-windows-downloads.html 2、下载PLSQL Developer 15并安装 下载地址:https://www.allroundautomations.com/products/pl-sql-developer/#pricing 3、配置O…

drawio导出矢量图

1.选中要导出的图 2.导出为pdf 3.用adobe打开pdf,另存为eps