分析RuoYi_Vue中AOP类DataScopeAspect对于不同权限SQL语句及作用


一、AOP简介

1.什么是AOP

AOP(Aspect Oriented Programming):面向切面编程,它和 OOP(面向对象编程)类似。
AOP 是一种思想,而 Spring AOP 是实现(框架),这种关系和 IOC(思想)与 DI(实现)类似。
比如用户登录权限的效验,我们只需要在某一处配置一下,那么所有需要判断用户登录的页面就全部可以实现用户登录验证了,不用在每个方法中都写用户登录验证了。

2.为什么要用AOP

1.高频:对于这种功能统一,且使用地方较多的功能(比如 用户登录验证)
2.使⽤ AOP 可以扩充多个对象的某个能⼒
3.统一日志处理
4.统一方法执行时间统计
5.统一的返回格式设置
6.统一的异常处理
7.事务的开启和提交等

二、RuoYi中的AOP类DataScopeAspect不同权限sql语句

在这里插入图片描述

@Before:在带有@DataScope注解的函数将要执行之前,先执行doBefore的方法clearDataScope和handleDataScope,对于不是超级管理员的用户,则需要进行数据范围过滤。
在这里插入图片描述

全部权限:DATA_SCOPE_ALL,表示用户具有全部数据的访问权限,不需要添加任何过滤条件。

在这里插入图片描述

自定义权限:DATA_SCOPE_CUSTOM,根据用户的角色,仅允许用户访问与其相关部门的数据。在这里插入图片描述

本部门权限:DATA_SCOPE_DEPT,用户只能访问其所在部门数据。在这里插入图片描述

本部门及以下权限:DATA_SCOPE_DEPT_AND_CHILD,允许用户访问自己所在部门及其所有子部门的数据。在这里插入图片描述

仅本人权限:DATA_SCOPE_SELF,用户只能访问自己数据在这里插入图片描述

三、参考

https://blog.csdn.net/m0_58761900/article/details/128999827

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值