## 纯注解配置 * 如果是纯注解配置,那么是不通过数据库的,相当于是离线配置。 * 我们只需要关注column、type、value这三个字段。 * `column`:需要过滤的数据库字段 * `type`:数据权限过滤的类型 * `value`:当数据权限类型为自定义的时候,配置的sql条件语句 <br> ### 所在机构可见 1. 配置DataAuth注解,因为默认字段就是create_dept,所以无需配置column ![](https://box.kancloud.cn/a09f43d05c57f8d8bb8fc8a54a736ad1_1152x914.png) 2. postman调用接口获取token ![](https://img.kancloud.cn/64/91/64919ab7328055f4f36a9903456f35b2_1784x1400.png) 3. 将token传入header并调用对应接口 ![](https://box.kancloud.cn/4f3978ce6b5eed2e1b8f87532d0e1c91_2146x1558.png) 4. 查看具体返回数据 ![](https://box.kancloud.cn/6785b2d595b8a9cea7024402b28585d0_1324x1664.png) 5. 查看控制台sql打印 ![](https://box.kancloud.cn/05b4ddcc10a046be1d0bb18e92b32364_1898x208.png) 6. 核对数据库数据,发现一致 ![](https://box.kancloud.cn/19f9395eaef047af5fa780b85ee75d7e_2838x382.png) <br> ### 所在机构及子集可见 1. 配置DataAuth注解,因为默认字段就是create_dept,所以无需配置column ![](https://box.kancloud.cn/830dddf4b794c6dc000df0b459129720_1140x930.png) 2. 重启工程再次调用接口,发现返回了5条 ![](https://box.kancloud.cn/32993897938f057e3974ddafc20e69d2_1102x1654.png) 3. 查看控制台sql打印 ![](https://box.kancloud.cn/063cc70e7f518bd53b6f337b8c8393d8_2082x138.png) 4. 查看部门表对应数据,可以看到,也是正确的 ![](https://box.kancloud.cn/255ebe926f34f945b39ad9146a5922de_782x186.png) <br> ### 个人可见 1. 配置DataAuth注解,由于创建人字段为create_user,不是默认,所以需要指定 ![](https://box.kancloud.cn/0439ec7b78111bca75102b0ee7c461d8_1172x938.png) 2. 重启工程再次调用接口,发现返回了3条 ![](https://box.kancloud.cn/313ca38c7594459acff3b057e1d4e39b_1302x1694.png) 3. 查看控制台sql打印 ![](https://box.kancloud.cn/0559279427953dc00456f5b9db53cade_1458x176.png) 4. 可以看到,筛选字段名变为了create_user,与我们预想一致 <br> ### 自定义配置 1. 配置DataAuth注解,配置自定义sql ![](https://box.kancloud.cn/82aeabe25450ff5ef1133f2b46ad16ff_2150x910.png) 2. 在这个配置的sql里我使用里占位符`${userId}`,没错,这么写在底层就可以直接获取到当前登录用户的deptId字段,除此之外我们还可以用更多的参数,比如`${deptId}`、`${roleId}`、`${tenantId}`、`${account}`、`${userName}`等等 3. 这些参数可以参考BladeUser类,他的所有字段我们都是可以根据占位符来获得的。 ![](https://box.kancloud.cn/201d395872f538503a687fc2175f7e09_874x1744.png) 4. 重启工程再次调用接口,发现返回了3条 ![](https://box.kancloud.cn/52a2dd94f38c6bc971f9cf1c74b23ae7_1144x1618.png) 5. 查看控制台sql打印 ![](https://box.kancloud.cn/55c3c579cc40a6859468b36fa23afae8_1748x212.png) 6. 我们可以看到,自定义sql以及占位符都生效,达到了我们的预期~ ## 注 * 纯注解配置,如果对于灵活性要求不是特别大的话,其实可以满足绝大多数场景了 * 下一节,我们来看下基于web全自动配置