0. 前言
前一小节,讲了如何入门,这里就简单讲一下如何自定义查询和权限控制配置。
1. 配置多租户
如果要启用该表的多租户功能,需要在application.yml 这里配置。
2. 配置模糊匹配
1 @GetMapping(value="/list2") 2 public R<IPage<Wunaozai>> list2(@RequestParam Map<String, Object> wunaozai, Query query){ 3 IPage<Wunaozai> pages = wunaozaiService 4 .page(Condition.getPage(query), Condition.getQueryWrapper(wunaozai, Wunaozai.class)); 5 return R.data(pages); 6 }
3. 配置用户、角色、部门
新增部门,在【系统管理】-【机构管理】,新增两个机构,测试机构A,测试机构B,挂到【刀锋科技】下,作为公司下的部门。
新增用户,在【系统管理】-【用户管理】,新增两个用户,分别挂在机构A和机构B,作为公司下的职员。都配置成【人事】角色
配置角色,主要配置菜单功能。
使用user1、user2,分别登录系统,分别录入自己的数据。会发现,都可以互相看到对方的数据。
看下数据库对应的字段
配置数据权限
权限字段,这里默认自带的就是create_dept,其他字段的,需要自定义,然后在规则里面写SQL。
规则类型,选【所在机构可见】
可见字段,这里填写的就是所需select 的字段,这里查询所有字段
权限类名,就是要对某个mapper的函数进行数据权限控制。这个是需要填写Mapper层,因为会注入到mybatisSQL里面。
为角色配置权限
查询效果,只能查询到自己的数据
查询SQL语句
1 select * from (SELECT id, update_user, update_time, title, content, is_deleted, create_dept, create_time, create_user, time, info, status FROM tb_wunaozai WHERE is_deleted = 0 AND tb_wunaozai.tenant_id = '000000' limit ? offset ?) scope where scope.create_dept in (1187645930986582017)
这样就简单的入门,接下来就是自定义SQL,关联查询。集成实际业务了。
参考资料:
https://avuejs.com/doc/crud/crud-doc
Blade开发手册-2.1.0.RELEASE.pdf
Saber开发手册.pdf
本文地址:https://www.cnblogs.com/wunaozai/p/11739905.html
个人主页:https://www.wunaozai.com/