Web全自动配置

web可视化动态配置

  • 数据权限动态配置需要依赖数据库,所以我们需要前往web端进行配置
  • 配置逻辑与纯注解配置一致,其实就是把注解配置拓展,并做成了web可视化
  • 下面我们来打开web工程,进行操作把~

Web配置

  1. 打开saber,进入数据权限,点击通知公告模块的数据权限按钮

  2. 在弹层点击新增按钮

  3. 填入对应的参数

  4. 这里有一点注意的是权限类名字段,之所以可以实现自动配置,就是因为我们指定了Mapper层对应执行的方法。所以我们对应的路径需要指定正确,不能出错。
  5. 还有一点需要注意的是,若分页、列表方法不是自己写的mapper,而是采用的mybatis-plus自动生成的方法,没有自定义的方法名,那这个路径应该如何写?
  6. 其实很简单,我们跟踪下代码,可以看到,自带的page方法,其实是调用了BaseMapper里的selectPage方法

     

  7. 所以我们如果需要配置自动生成的mapper方法,只需要把刚刚的org.springblade.modules.desk.mapper.NoticeMapper.selectNoticePage 改成org.springblade.modules.desk.mapper.NoticeMapper.selectPage即可
  8. 确认无误后,保存配置,可以看到在通知公告模块下,多了一条数据权限的配置

  9. 那么下面,我们就需要对其分配权限了,打开角色管理权限配置进行分配

  10. 这里有一点需要注意,我们之前在菜单模块下进行了数据权限规则的新增,在角色权限配置的时候,可以看到归类在了对应的菜单下。这一点仅仅只是分类的作用,并没有实质性的影响。比如我可以配置生效的方法是org.springblade.modules.desk.mapper.NoticeMapper.selectNoticePage ,却把它放在了工作流的菜单分类下。实际生效的还是通知公告对应的这个方法,而不会对工作流菜单下的方法产生影响。

接口调用

  1. 删掉上一章的DataAuth注解

  2. 重启工程并调用postman,可以看到返回了3条数据

  3. 查看控制台发现sql过滤条件生成成功

  4. 修改刚刚的规则,改为自定义并填入自定义sql

  5. 无需重启工程,直接再次调用postman,发现这回返回了两条数据

  6. 控制台的sql过滤条件生成成功

  7. 此时我们将类名修改为通知功能列表页会调用的mapper方法

  8. 不用重启,直接访问通知公告模块,发现显示了两条数据

  9. 控制台打印条件正确

     

  • 纯注解和web全自动的配置方式两者结合,相信可以满足绝大多数需求
  • 对于国内一些特别复杂的需求,无法用配置实现的话,我推荐大家直接写死在代码内,否则这是一条不归路,一旦踏上,再也无法回头~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值