一、该问题的重现步骤是什么?
2.
3.
二、你期待的结果是什么?实际看到的又是什么?
使用系统自带的service.page,数据权限 未生效。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
boot版本 4.5.0
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
DataAuth 在maper中方法上,可以进行控制。但是针对继承父类方法,没法直接写注解,这种要怎么处理?例如BaseMapper中的通用方法。
系统自动生成的代码 列表页面使用的是mybatis自带的 service.page方法,穿透到底层,使用的是mapper.selectList方法,配置文件中已经配置了,data-sope 属性。但是还是在线配置还是没有生效,麻烦看一下是哪里的问题。是权限类名写错了吗?
这里打断点可以看到具体的完整路径
debug 如上图,是
findDataAuthAnnotation 方法返回null
findDataAuthAnnotation 返回null是正常的,因为你没有用 DataAuth的注解修饰,所以获取不到。
你要继续往下走端点,看看是哪一步导致的没有添加数据权限的sql。
另外你要确认下用的是不是超级管理员账号,如果是的话,数据权限会默认失效,你用个普通账号再访问看看。
找到问题了,是 角色里面,没有勾选这个数据权限的问题。
要正确使用的话,需要在数据权限中设置,并且角色里面进行勾选
扫一扫访问 Blade技术社区 移动端