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

若依数据权限控制

在这里插入图片描述
在这里插入图片描述

效果

新建用户

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

表结构

  • sys_role_dept 这张表的存在。是为了实现数据权限自定义的功能

在这里插入图片描述

service层

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mapper层

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

流程

在这里插入图片描述

自定义注解DataScope

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

切面类

  • 防止sql注入
  • 数据过滤

前置通知

    // 切面的前置通知@Before("@annotation(controllerDataScope)")public void doBefore(JoinPoint point, DataScope controllerDataScope) throws Throwable{// 清除数据范围参数,防止注入clearDataScope(point);// 处理数据范围过滤逻辑handleDataScope(point, controllerDataScope);}

方法clearDataScope

防止SQL注入

     /*** 拼接权限 SQL 前先清空 params.dataScope 参数防止注入** @param joinPoint 切点*/private void clearDataScope(final JoinPoint joinPoint){// 获取切点的第一个参数,该参数应为 BaseEntity 类型Object params = joinPoint.getArgs()[0];if (StringUtils.isNotNull(params) && params instanceof BaseEntity){// 将参数转换为 BaseEntity 类型并清空 dataScope 参数BaseEntity baseEntity = (BaseEntity) params;baseEntity.getParams().

http://www.mrgr.cn/news/81936.html

相关文章:

  • 【Navicat】设置字段根据当前时间更新
  • 二、vue智能Ai对话(高仿通义千问)流式进阶版
  • 【Vue】点击侧边导航栏,右侧main对应显示
  • OpenCV的对比度受限的自适应直方图均衡化算法
  • 计算机网络 (40)域名系统DNS
  • STM32-Flash存储
  • Diffusion Transformer(DiT)——将扩散过程中的U-Net换成ViT:近频繁用于视频生成与机器人动作预测(含清华PAD详解)
  • Three.js 字体
  • html转PDF
  • NFS网络文件共享新认识——筑梦之路
  • HarmonyOS NEXT应用开发实战:一分钟写一个网络接口,JsonFormat插件推荐
  • ESP-IDF学习记录(3)ESP-IDF组件管理
  • 深入解析 Oracle 的聚合函数 ROLLUP
  • uniapp使用ucharts组件
  • 云计算学习架构篇之HTTP协议、Nginx常用模块与Nginx服务实战
  • SOME/IP 协议详解——远程过程调用(RPC)
  • Netty网络模型
  • SCAU高程进阶题(自用)
  • 谷云科技数据集成社区焕新登场:功能、资源、会员权益全面升级
  • Metricbeat安装教程——Linux——Metricbeat监控ES集群
  • ensp、HCL环境部署vm版
  • RCCL/NCCL中的Transports方式选择:P2P or SHM or NET
  • java开发配置文件集合
  • 【数据结构】Trie字典树(前缀树)— 数组实现
  • 为什么选择 RAG 技术?开启 AI 2.0 应用开发的新时代
  • 【bluedroid】A2dp Source播放流程源码分析(4)