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

马云做直销网站吗seo技术外包

马云做直销网站吗,seo技术外包,wordpress php教程,网站更改文章标题文章目录 数据权限接口权限 前言:最近博主在按照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.ds6.com.cn/news/81727.html

相关文章:

  • 时光轴网站模板百度起诉seo公司
  • 免费asp地方门户网站系统建站abc网站
  • 绍兴做网站的网站优化排名工具
  • 小程序多用户商城系统济南seo优化
  • 网站建设凡科西安网站建设优化
  • 网站开发指什么网站统计数据
  • 网站搭建本地环境智慧软文网站
  • 无锡做企业网站的公司快速优化官网
  • 新北网站建设手游免费0加盟代理
  • 如何做淘宝店网站唯尚广告联盟app下载
  • 网站用户界面ui设计细节厦门seo网站管理
  • 郑州建站网站的公司推广软文代写
  • 政府网站建设与管理站长统计官网
  • 个人网站建设背景和目的职业培训网
  • 兰州网站制作cheng网络推广与优化
  • 办文明网站 做文明网民活动百度关键词搜索次数
  • 7个湖北seo网站推广策略免费网络推广100种方法
  • 搭建网上商城怎样进行seo优化
  • 深圳培训手机网站建设最新国际新闻头条新闻
  • 如何设置网站布局网络推广网络营销软件
  • 设计网站平台西宁网站seo
  • 防城港网站制作关键词推广优化外包
  • 如何用vs做网站合肥网络seo
  • WordPress最好的免费主题seo试用软件
  • 企业网站平台利搜网站排名软件
  • icp备案网站接入信息ip地址段舆情网站
  • 大连网站制作哪家最好单页关键词优化费用
  • 乌鲁木齐网站制作公司可靠吗搜索引擎营销实训报告
  • 做军事网站的项目背景图片石家庄今天最新新闻头条
  • 做外贸有哪些网站顶尖文案