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

马云做直销网站吗seo综合查询软件排名

马云做直销网站吗,seo综合查询软件排名,wordpress主题二次开发,青岛栈桥文章目录 数据权限接口权限 前言:最近博主在按照bladeX官方文档 配置数据权限 结果发现失效了,网上搜了一下没找到合适的答案,本着求人不如求己的精神,自己调试了一下发现了问题所在,也大致看了一下bladeX的权限逻辑。…

文章目录

  • 数据权限
  • 接口权限

前言:最近博主在按照bladeX官方文档 配置数据权限 结果发现失效了,网上搜了一下没找到合适的答案,本着求人不如求己的精神,自己调试了一下发现了问题所在,也大致看了一下bladeX的权限逻辑。

数据权限

简述一下数据权限原理: 通过一个dataScope拦截器,将用户的业务sql进行拦截拼接,拼接一个where条件进行数据过滤, where条件就是我们在web配置的sql,
例如我们原始sql是 select id,name from customer ,
配置的过滤规则为 where scope.name = ‘admin’,
拼接后就是 select * from ( select id,name from customer) scope where scope.name = ‘admin’

所以核心在于DataScopeInterceptor是否生效,我们可以在DataScopeInterceptor类的intercept方法第一行打上断点,去分析问题到底出在哪里。
在这里插入图片描述
博主是连这个方法都没有进来,一时间有点懵,因为短时间不可能去看大量源码,找到所有的调用链路。

(这里提供一个思路,首先还是尽可能在网上找有没有人遇到这个问题 原因可能是什么,如果实在找不到,把bladeX原始项目跑一遍,原始的商业项目肯定是经过了测试的 数据权限应该不会失效,找到代码调用链路,我们回到自己的项目中 在关键节点打上断点)

至于博主是如何找到DataScopeInterceptor的,因为bladeX提供的数据权限注解是@DataAuth, 注解要生效 那可能就是通过拦截器或者切面去拦截了,所以注解所在的地方应该会有相关代码

在这里插入图片描述

在经过大量的调试后,最终发现了问题所在:
DataScopeInterceptor implements QueryInterceptor,queryInterceptor通过paginationInterceptor类设置的;
在bladeX中 定义了一个PaginationInterceptor的子类:BladePaginationInterceptor,定义的QueryInterceptor数组用于接收queryInterceptor,
BladePaginationInterceptor的queryInterceptor又是通过MybatisPlusConfiguration配置类中 注册MybatisPlusInterceptor bean时set的, 我们注意到 @ConditionalOnMissingBean({MybatisPlusInterceptor.class}) , 而我们项目中,通常都会自定义 MybatisPlusInterceptor , 这就导致了bladeX的配置未生效。

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

解决方案:修改我们自定义的MybatisPlusInterceptor , 代码示例:

@Configuration
public class MybatisPlusExternalConfig {@Autowiredprivate DataScopeInterceptor dataScopeInterceptor;@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor(ObjectProvider<List<InnerInterceptor>> innerInterceptors) {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();List<InnerInterceptor> innerInterceptorsIfAvailable = innerInterceptors.getIfAvailable();if (innerInterceptorsIfAvailable != null && innerInterceptorsIfAvailable.size() > 0) {for (InnerInterceptor innerInterceptor : innerInterceptorsIfAvailable) {interceptor.addInnerInterceptor(innerInterceptor);}}/*** {@link  org.springblade.core.mp.config.MybatisPlusConfiguration#mybatisPlusInterceptor}* {@link  org.springblade.core.datascope.interceptor.DataScopeInnerInterceptor}*/BladePaginationInterceptor paginationInnerInterceptor = new BladePaginationInterceptor();// 核心步骤paginationInnerInterceptor.setQueryInterceptors(new DataScopeInterceptor[]{dataScopeInterceptor});interceptor.addInnerInterceptor(paginationInnerInterceptor);return interceptor;}}

接口权限

bladeX的接口权限原理也比较简单

原理是内置查表sql 将权限code存入BladePermissionHandler中,当请求接口时 通过切面拦截@PreAuth,判断code是否匹配

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

最后,欢迎各位同学前往idea插件marketplace免费下载博主的原创插件:
Equals Inspection 感谢各位。

在这里插入图片描述

http://www.khdw.cn/news/4612.html

相关文章:

  • 福建省城乡建设委员会网站北京互联网公司排名
  • wordpress 招聘网站关键词林俊杰mp3免费下载
  • 个人建站除了wordpress怎么做起泡胶
  • wap网站seo上饶seo博客
  • 网站上滚动海报怎么做的太原百度网站快速排名
  • 网站做响应式还是移动端网站外链分析工具
  • 国外b2b平台有哪些网站太原seo快速排名
  • 美丽乡村网站建设模板廊坊百度关键词优化怎么做
  • WordPress迁移网站打不开百度网盘网页版
  • 政工网站建设方案网上电商怎么做
  • 网站的建设背景图片百度关键词优化
  • 什么网站可以做微招聘志鸿优化设计
  • 云南网站开发公司介绍外贸网站优化公司
  • NET网站开发工程师网站招聘中国搜索引擎份额排行
  • 电商平台如何引流推广seo网站推广怎么做
  • 怎么在360做网站百度公司介绍
  • django怎么做网站360优化大师下载
  • 网站建设案例要多少钱seo优化怎么做
  • 天然气集团有限公司原副总经理汉川seo推广
  • 简单网站建设产品推广方案范例
  • 做网站临沂厦门seo顾问屈兴东
  • 福田网站制作公司长尾关键词排名工具
  • 南头手机公司网站建设网络营销专业是干嘛的
  • 用动态和静态设计一个网站磁力天堂最新版地址
  • 网站开发做美工安装百度
  • 软件推广网站域名收录查询
  • 大良营销网站建设市场微网站建站平台
  • 东莞做网站首选企业铭软文有哪些
  • 国际电商平台排名短视频seo询盘获客系统软件
  • 织梦网站怎么做301百度小说排行榜前十