若依的权限控制该怎么做(超详细的图文教程)

若依前后端分离框架学习-5:权限管理     上一章自己创建了一个模块,我们注意到前端代码中对于按钮有v-hasPermi="[‘xxx:testxxx:add’]“这种代码。服务端有@PreAuthorize(”@ss.hasPermi(‘xxx:testxxx:add’)")这种代码。这是为了分别在前端和服务端限制用户进行非权限操作的。接下来,我们举个例子进行具体分析。     我们来看“新增”按钮对应的前端代码: <el-col :span="1.5" 阅读详情
AI摘要

文章介绍了开源权限管理系统若依的详细使用过程,包括角色定义、权限分配、页面和元素级别的权限控制。重点讲解了如何通过角色管理、菜单管理来控制用户对页面和功能的访问权限,强调前后端权限标识的对应性。,

概要

若依是一种开源的权限管理系统,可以用于细粒度的权限控制和访问管理。若依提供了基于角色的访问控制(Role-Based Access Control, RBAC)机制,通过角色的分配和权限的定义来管理系统中各个用户的访问权限。

在若依中,权限控制主要通过以下几个步骤实现:

  1. 定义角色:首先,需要定义系统中的角色。角色是一组具有相似职能和权限的用户集合。例如,可以定义管理员、普通用户、访客等角色。

  2. 分配角色:将角色分配给特定的用户或用户组。通过将角色与用户进行关联,可以确定用户所拥有的权限。

  3. 定义权限:为每个角色定义相应的权限。权限可以是对系统中的资源(如功能、操作、数据等)的读取、写入或执行等操作。

  4. 控制访问:根据用户的角色和权限设置,控制用户对系统资源的访问。用户只能执行其拥有权限范围内的操作。

若依还提供了灵活的权限管理功能,例如权限继承、权限限制、动态权限配置等,以满足不同场景下的权限需求。

需要注意的是,在使用若依或其他权限管理系统时,管理员应该遵循合理的权限设计原则,确保用户的权限分配合理、安全可靠,并且需要定期审查和更新权限设置,以保障系统的安全性和可管理性。

下面我们来详细说一下如何做

我们首先创建一个test用户,角色为普通用户角色,用这个账号来演示权限控制的过程
在这里插入图片描述

一、页面权限控制

1、用户创建好之后,然后我们到角色管理页面,因为刚创建的用户属于普通角色,所以我们点普通角色的修改按钮来查看普通角色的菜单权限。
我们来看学生管理这个菜单,可以看到这个是没有选中的,所以普通角色是没有查看这个菜单的权限的。
在这里插入图片描述

2、下面我们登上test的账号来看一下。
登上之后,发现系统管理目录中没有显示班级管理菜单
在这里插入图片描述

3、然后我们再回到管理员账号加上这个菜单权限。
对应的就是是否显示这个学生管理菜单。
在这里插入图片描述

4、加上之后,我们再回到test账号,就可以看到这个学生管理菜单了。
在这里插入图片描述

5、但是点击学生管理之后会发现,提示当前操作没有权限,然后我们再进入管理员界面。
在这里插入图片描述

6、我们再回到admin账号,查看学生管理菜单的权限,会发现这里没有任何的权限标识,也就是说连最基础的查看权限都没有,这时候我们给他加上查看的权限标识。

在这里插入图片描述
7、我们点击学生管理菜单的修改按钮,在弹出框中给他加上list权限(权限字符要跟自己的后台一致,否则会不起作用)。
在这里插入图片描述
那么问题来了,我怎么知道这个权限标识该怎么写呢?
去看对应的Controller,这个@PreAuthorize注解对应的字符,就是权限标识,每一个接口上都有。
在这里插入图片描述

加上之后,再登录test账号,然后我们就会发现能够查看查询到的所有数据了。
但是会发现,表格上方的增删改和导出按钮没有,包括右侧的操作按钮也都没有。
在这里插入图片描述
跟admin做对比(admin有所有按钮的权限,因此是全部显示的)
下面我们来说,如何对这些按钮做控制,控制其他角色所能看到的按钮。
在这里插入图片描述

二、页面元素权限控制

我们再进入管理员的菜单管理页面,会发现学生管理跟其他的菜单对比少了点东西,也就是增删改查和导出的按钮权限。这里不加上,那么其他角色是看不到这些按钮的,自然也就没办法进行操作了。

那是不是我们把按钮的权限加上,按钮就能够显示了呢?
我们来试一下。
在这里插入图片描述

1、我们找到学生管理菜单的新增按钮,
菜单类型选择按钮,菜单名称名称跟显示排序都自定义。
权限标识同样是去后端找。
在这里插入图片描述

2、添加完之后,那是不是就有了呢?我们再去test账号中看。
我们会发现,仍然是没有的。
是哪里出了问题呢?
在这里插入图片描述
3、我们回到管理员账号,进入角色管理,点击普通角色的修改按钮。我们发现,角色中的菜单管理权限中,刚添加的新增按钮的权限并没有勾选,因此也就不起作用。
我们将这里勾选上,然后再回到test账号。

在这里插入图片描述
4、回到test账号,我们发现,新增按钮已经添加上了。
其他的按钮以此类推,也是这么个添加流程。

  • 先在菜单管理中添加按钮权限
  • 再角色管理中勾选对应菜单下按钮权限

在这里插入图片描述

小结

步骤流程:

1、角色管理中添加对应角色的页面权限
2、菜单管理中添加页面的按钮权限
3、角色管理中勾选按钮权限

注意:前端、后端以及你写的权限标识,都要对应上。否则就会不起作用。(如果没有起作用,就分别去检查这三个地方)

补充:前端的权限标识仅用于控制该按钮是否显示,当你发现按钮的功能不起作用时,要去看这个按钮调用的接口的权限标识,按照上述流程(菜单管理和用户管理中)将这个权限给添加上,用户就有权限去操作了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

图文详解基于角色的权限控制模型RBAC 我们开发一个系统,必然面临权限控制的问题,即不同的用户具有不同的访问、操作、数据权限。形成理论的权限控制模型有:自主访问控制(DAC: Discretionary Access Control)、强制访问控制(MAC: Mandatory Access Control)、基于属性的权限验证(ABAC: Attribute-Based Access Control)等。最常被开发者使用也是相对易用、... 阅读详情

相关推荐

linux基础教程入门学习是系统汇总全集(附详细的图文目录学习)

好的开始是成功的一半。学习 Linux 的第一个问题是搞明白 Linux 是什么,了解其来龙去脉、前世今生,知道其发展趋势、应用前景,弄清楚为什么学习它,以及如何掌握它和使用它,知其然更要知其所以然。 工欲善其事,必先利其器。建议学习 Linux 的朋友不要忽视本章章。很多人看技术类图书都不喜欢或不重视第一章,甚至直接跳过去,觉得大多是介绍性的内容,陈词滥调、形式化,且没什么 技术含量。 ...

linux基础教程 1331

若依项目中的数据权限管理详解

本部门数据权限只能看到本部门的,下面部门的数据看不到,本部门及以下数据权限可以看到部门以下的数据权限;例如对于销售,财务的数据,它们是非常敏感的,因此要求对数据权限进行控制, 对于基于集团性的应用系统而言,就更多需要控制好各自公司的数据了。如设置只能看本公司、或者本部门的数据,对于特殊的领导,可能需要跨部门的数据, 因此程序不能硬编码那个领导该访问哪些数据,需要进行后台的权限和数据权限的控制。结果很明显,我们多了如下语句。在实际开发中,需要设置用户只能查看哪些部门的数据,这种情况一般称为数据权限。

tigerhhzz的博客 1万+

若依开源框架中数据权限的使用及配置

对于数据隔离问题,也就是不同角色的用户拥有的数据权限问题,虽然文档也有描述,也有一个现成的例子,但是没有结果业务功能,看得有点不太好理解,我这里直接举例业务功能的例子,帮助朋友们根据自己业务去做调整,完成数据权限的使用,能够满足业主的需求...

乘风偷月的博客 2万+

若依(RuoYi )权限管理设计

若依权限管理包含两个部分:菜单权限 和 数据权限。菜单权限控制着我们可以执行哪些操作。数据权限控制着我们可以看到哪些数据。

互联网从业者/大数据架构师/全栈开发者 3万+

若依笔记(三):用户权限体系与数据隔离

​ 已知若依单体的前端采用vue-element-admin,在前端的专栏系列vue-element-admin的动态路由已详细拆解,其最大特点是使用后端返回数据控制前端菜单,每次接口请求前会有路由拦截来获取权限和菜单列表并重新渲染页面,配合若依后端自己实现的数据权限切面,能够实现很好地的数据隔离和权限隔离,那么现在就从代码层面分析其实现; ​

叶子叶来 6201

泛微OAe9-自定义资源看板

OA中,有一个很好用的功能:会议室预约。对于一间设立的会议室,同一时间段内,肯定会有不同的人预约同一间会议室,并且,在资源看板里,能看清各个时间段会议室的占用情况,可是会议室资源是有限的,显然不可能让多个人在同一时间段内预约同一间会议室,如会议室已占用,其他人再次申请时,应当拒绝预约。

小松鼠的博客 1849

后台权限管理系统设计(图文教程)

后台权限管理系统设计(图文教程) 2019.5.27转载于肖朋伟| https://blog.csdn.net/qq_40147863/article/details/85320371 这里给大家分享一个网站后台管理系统的所有功能介绍,操作演示...

ChinaSaoPao的博客 1401

从‘平行’到‘鱼骨’:手把手拆解AlGaN/GaN HEMT多栅指结构的布局优化实战

本文深入探讨了AlGaN/GaN HEMT多栅指结构的布局优化,从传统的平行栅结构到创新的鱼骨栅结构,详细解析了如何通过优化信号路径和热管理提升功率器件的性能。文章结合实测数据和EDA工具,展示了鱼骨栅结构在相位一致性、热阻和版图利用率方面的显著改进,为射频功率放大器设计提供了实用指导。

weixin_27061475的博客 442

若依代码生成(超详细的图文教程)

最近因为要使用若依框架生成代码,因为刚开始不熟悉,所以耗费了挺长时间的,按照网上的教程都是新建一个mudel,我是想把生成的代码直接放到我原来的系统中,自己摸索耗费了点时间,所以特地记录一下。

Keep__Me的博客 3万+

从零上手:基于RK3588平台的RKISP Tuner实战配置与核心功能解析

本文详细介绍了在RK3588平台上使用RKISP Tuner工具进行图像信号处理器(ISP)调试的完整实战流程。从MATLAB运行时环境搭建、服务端部署到核心连接,逐步解析如何通过图形化界面实时调节白平衡、锐化、降噪等参数以优化图像质量。文章重点阐述了实时预览、参数调试、抓图对比及参数保存等核心功能,为开发智能摄像头、机器人等AIoT设备的工程师提供了实用的配置指南与进阶技巧。

js777的博客 631

uniapp原生安卓插件开发之路

声明: 我的功能需求:全局悬浮框,也就是在其他应用上依旧能悬浮。查遍uni文档,无法实现,甚至native.js也无法实现,无奈只能走上原生插件开发这条不归路了。(吐槽:天天写前端js,突然写了下android简直要炸,public static String啥的,var不香嘛,不过别人严谨肯定还是有别人道理的,加油吧,争取能入个门!) 本人不懂安卓开发,完全安卓小白,所以安卓方面可能表达的不是很好,安卓代码可能写的不优美,但我功能最终还是实现了。但是为了需求,能力总能被“逼”出来。有描述错误的还望指正

Jone's Area 1万+

部门角色权限rbac_图文详解基于角色的权限控制模型RBAC

图文详解基于角色的权限控制模型RBAC我们开发一个系统,必然面临权限控制的问题,即不同的用户具有不同的访问、操作、数据权限。形成理论的权限控制模型有:自主访问控制(DAC: Discretionary Access Control)、强制访问控制(MAC: Mandatory Access Control)、基于属性的权限验证(ABAC: Attribute-Based Access Contro...

weixin_39739661的博客 1128

概念解析 | 雷达动态范围

这里存在一个动态范围的问题:强雷达发射信号和弱目标反射信号存在非常大的功率差异,比如传统的脉冲多普勒雷达动态范围可达90dB以上。随着上述技术的发展,预计未来十年雷达接收机动态范围将达到120dB以上,届时雷达的监视能力将得到极大增强。简单来说,雷达动态范围越大,表示接收机噪声越低,对强信号过载保护能力越强,就越能检测到弱信号目标。此外,部分新概念雷达对动态范围提出新的需求,如被动雷达动态范围需大于100dB。当前,随着阵列雷达和数字雷达技术的发展,对雷达接收机动态范围提出了更高要求。

NLOS的博客 1051

win10 解决多用户同时远程连接教程(超详细图文)

在默认的情况下,win10 专业版只支持本地或远程只能同时存在一个连接。但windows server支持多连接。 比如你的 win10 上有两个用户账号A和B。 当通过A账户远程连接电脑的时候,就不能通过本地登录A,同时也不能本地或远程登录B。 同理,当远程登录B时候,也不能在本地登录B,同时也不能本地或远程登录A。 如果登录,另一个就会被注销。所以本教程就是为了解决这个问题。系统:windows 10 安卓app:Microsoft Remote Desktop直接在左下角搜索框输入远程桌面设置,点击对

张猿的日常 12万+

大数据分析案例-基于随机森林算法构建二手房价格预测模型

通过应用随机森林算法,我们希望建立一个能够有效预测二手房价格的模型。这个模型可以基于各种因素,如区域位置、房屋属性、市场供需等,来预测未来某一时间点的房价。通过提高预测准确性,我们可以更好地把握房地产市场动态,为决策提供更有价值的参考。揭示影响二手房价格的因素及其影响方式:通过分析随机森林算法生成的模型,我们可以进一步了解哪些因素对二手房价格有重要影响,以及这些因素如何影响房价。这有助于我们深入理解房地产市场的运行规律,为制定更为有效的市场策略提供依据。

m0_64336780的博客 1万+

1.2 Spring AI V1.1.2版本 架构全景:模块拆解与设计哲学

Override// 检查请求的 Token 数量throw new TokenLimitExceededException("请求超出 Token 限制");@Override// 记录实际消耗的 Token@Override// 最先执行// 接口// 不同实现// 使用方无需改变定义抽象,保证可移植性提供 Fluent API,提升开发体验Advisor 机制提供扩展点,支持灵活定制模块化设计让你只引入需要的依赖自动配置。

小林夕程的博客 220

Nacos创建用户并鉴权图文教程

由于公司正在做nacos的鉴权和账号分配,每一个项目对应一个nacos账号,每一个nacos账号只能访问或操作对应项目的资源,做到项目与项目之前的隔离。通过本篇博客能够成功进行鉴权和账号权限分配。

理想主义的花最终会盛开在浪漫主义的土壤里,我的热情永远不会熄灭在现实的平凡之中,我们终将上岸,阳光万里。 8409

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

图文详解,源码启动RocketMq,超详细

源码下载 从github官网下载https://github.com/apache/rocketmq 我这里下载的是当前最新代码,4.7.1的版本 导入idea 各个代码包的功能 acl:权限控制模块 broker: broker 模块(broke 启动进程) client :消息客户端,包含消息生产者、消息消费者相关类 common :公共包 dev :开发者信息(非源代码) distribution :部署实例文件夹(非源代码) docs:很多官方文档。虽然不是源码,

woliuqiangdong的博客 1725

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【图文详解】入职必备——SVN使用教程

文章目录前言1、SVN简介2、SVN仓库3、SVN客户端4、SVN基础操作5、撤销和恢复6、添加忽略7、解决冲突8、分支9、代码暂存 前言 又是一年毕业季,不少小伙伴纷纷入职,我也找到了理想的工作。 正式进入公司后并不会像我们自学时自己一个人随心所欲地写代码,需要我们和同事进行协同开发,此时代码管理工具是必不可少的,目前常用的两款工具是:SVN 和 Git,今天我们就来学习一下SVN的使用! 该技术博客是关于B站SVN视频教程的笔记总结,希望能为大家带来帮助,视频链接如下: https://www.bili

保持学习 14万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

如何在macOS上安装RWTS-PDFwriter?超详细图文教程来了

想要在macOS上快速创建PDF文件吗?RWTS-PDFwriter就是你的终极解决方案!这款功能强大的macOS打印驱动程序让你能够像Windows上的CutePDF一样,直接将任何文档"打印"为PDF文件。无论你是学生、办公人员还是开发者,这个免费工具都能显著提升你的工作效率。本文将为你提供完整的RWTS-PDFwriter安装指南,从下载到配置,一步步教你如何在macOS上轻松设置这款实用的

gitblog_00448的博客 525

day09_权限控制及图文报表

1.1在项目中应用Spring Security 前面我们已经学习了Spring Security框架的使用方法,本章节我们就需要将Spring Security框架应用到后台系统中进行权限控制,其本质就是认证和授权。 要进行认证和授权需要前面课程中提到的权限模型涉及的7张表支撑,因为用户信息、权限信息、菜单信息、角色信息、关联信息等都保存在这7张表中,也就是这些表中的数据 是我们进行认证和授权的依据。所以在真正进行认证和授权之前需要对这些数据进行管 理,即我们需要开发如下一些功能: 1、权限数据管理(增删

weixin_44013807的博客 303

零基础入门PilotGo-plugin-mysql:配置管理与权限控制图文教程

前往项目官网免费下载:[https://ar.openeuler.org/ar/](https://ar.openeuler.org/ar/?utm_source=csdn_blog) 想要高效管理MySQL集群?PilotGo-plugin-mysql是你的最佳选择!这款强大的MySQL监控管理插件专为openEuler生态设计,提供全面的MySQL实例监控、安全管理、性能分析和优化建议功能。

gitblog_06837的博客 140

Qwen3-VL-2B-Instruct权限控制设计:多用户访问管理教程

本文介绍了如何在星图GPU平台上自动化部署Qwen/Qwen3-VL-2B-Instruct视觉理解机器人,并为其设计多用户权限控制系统。通过基于角色的访问控制(RBAC)模型,可实现不同用户(如管理员、审核员、普通用户)的安全隔离与功能授权,典型应用于团队协作下的图片内容分析与问答场景,保障服务的安全与秩序。

weixin_33193177的博客 669
上一篇: 若依的字典值如何使用(超详细图文教程)
下一篇: Win10怎么关闭资源管理器右侧的预览窗口
丿BAIKAL巛
博客等级 码龄6年 558粉丝 82原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丿BAIKAL巛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值