### 一.需求 主子表,**代码生成后**,子表数据可以通过表单查看,现在需要控制子表数据的查看权限。 ![](https://img.kancloud.cn/f0/56/f056ec069dcf1f0e2230a42563e618bd_1199x434.png) ### 二.操作步骤 #### 1.添加权限菜单: 找到controller中加载子表数据的请求方法,一般是`queryxxxListByMainId`,获取其**请求路径**,添加菜单 ![](https://img.kancloud.cn/9f/a0/9fa0922ac22a649e92d750eb1e159544_677x492.png) 只需要填写前四项,其中菜单路径填写**请求路径** #### 2.添加数据规则 给步骤1新增的菜单添加数据规则: ![](https://img.kancloud.cn/ea/93/ea9353265027c213bec1b6f887381e3e_624x301.png) #### 3.角色授权 进入【系统管理】-->【角色管理】将步骤1、2新增的菜单/数据规则授权给需要的角色。 #### 4.代码修改 - controller,给步骤1中的方法需要添加注解`@PermissionData` - mapper,修改mapper方法,给方法添加一个参数 ![](https://img.kancloud.cn/3e/68/3e683a6232a8e9ae5c6b5e3ed25fe477_902x83.png) - mapper.xml ,修改查询语句, ![](https://img.kancloud.cn/3d/88/3d88a7c9cec229e8aa2fbfa5fde8094c_636x174.png) - serviceImpl, 查询数据前获取权限sql,传入mapper ![](https://img.kancloud.cn/68/c4/68c424062569566ede2897e79bc7cb23_666x130.png) ~~~ String sql = QueryGenerator.installAuthJdbc(xxx.class); ~~~